Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/opencascade/BlendFunc_ConstThroatInv.hxx was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // Created by: Julia GERASIMOVA
0002 // Copyright (c) 2015 OPEN CASCADE SAS
0003 //
0004 // This file is part of Open CASCADE Technology software library.
0005 //
0006 // This library is free software; you can redistribute it and/or modify it under
0007 // the terms of the GNU Lesser General Public License version 2.1 as published
0008 // by the Free Software Foundation, with special exception defined in the file
0009 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0010 // distribution for complete text of the license and disclaimer of any warranty.
0011 //
0012 // Alternatively, this file may be used under the terms of Open CASCADE
0013 // commercial license or contractual agreement.
0014 
0015 #ifndef _BlendFunc_ConstThroatInv_HeaderFile
0016 #define _BlendFunc_ConstThroatInv_HeaderFile
0017 
0018 #include <Adaptor3d_Surface.hxx>
0019 #include <BlendFunc_GenChamfInv.hxx>
0020 #include <math_Vector.hxx>
0021 
0022 class math_Matrix;
0023 
0024 //! Class for a function used to compute a ConstThroat chamfer on a surface's boundary
0025 class BlendFunc_ConstThroatInv : public BlendFunc_GenChamfInv
0026 {
0027 public:
0028   DEFINE_STANDARD_ALLOC
0029 
0030   Standard_EXPORT BlendFunc_ConstThroatInv(const occ::handle<Adaptor3d_Surface>& S1,
0031                                            const occ::handle<Adaptor3d_Surface>& S2,
0032                                            const occ::handle<Adaptor3d_Curve>&   C);
0033 
0034   Standard_EXPORT bool IsSolution(const math_Vector& Sol, const double Tol) override;
0035 
0036   //! computes the values <F> of the Functions for the
0037   //! variable <X>.
0038   //! Returns True if the computation was done successfully,
0039   //! False otherwise.
0040   Standard_EXPORT bool Value(const math_Vector& X, math_Vector& F) override;
0041 
0042   //! returns the values <D> of the derivatives for the
0043   //! variable <X>.
0044   //! Returns True if the computation was done successfully,
0045   //! False otherwise.
0046   Standard_EXPORT bool Derivatives(const math_Vector& X, math_Matrix& D) override;
0047 
0048   using Blend_FuncInv::Set;
0049 
0050   Standard_EXPORT void Set(const double theThroat, const double, const int Choix) override;
0051 
0052 protected:
0053   double Throat;
0054 
0055   double param;
0056   double sign1;
0057   double sign2;
0058 
0059   gp_Pnt ptgui;
0060   gp_Vec nplan;
0061   double normtg;
0062   double theD;
0063   gp_Vec d1gui;
0064   gp_Vec d2gui;
0065 
0066   gp_Pnt pts1;
0067   gp_Pnt pts2;
0068   gp_Vec d1u1;
0069   gp_Vec d1v1;
0070   gp_Vec d1u2;
0071   gp_Vec d1v2;
0072 };
0073 
0074 #endif // _BlendFunc_ConstThroatInv_HeaderFile