Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-11-15 09:45:55

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 
0029   DEFINE_STANDARD_ALLOC
0030 
0031   
0032   Standard_EXPORT BlendFunc_ConstThroatInv(const Handle(Adaptor3d_Surface)& S1, const Handle(Adaptor3d_Surface)& S2, const Handle(Adaptor3d_Curve)& C);
0033   
0034   Standard_EXPORT Standard_Boolean IsSolution (const math_Vector& Sol, const Standard_Real Tol) Standard_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 Standard_Boolean Value (const math_Vector& X, math_Vector& F) Standard_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 Standard_Boolean Derivatives (const math_Vector& X, math_Matrix& D) Standard_OVERRIDE;
0047   
0048   using Blend_FuncInv::Set;
0049   
0050   Standard_EXPORT virtual void Set (const Standard_Real theThroat,
0051                                     const Standard_Real,
0052                                     const Standard_Integer Choix) Standard_OVERRIDE;
0053 
0054 
0055 
0056 
0057 protected:
0058 
0059   Standard_Real Throat;
0060 
0061   Standard_Real param;
0062   Standard_Real sign1;
0063   Standard_Real sign2;
0064 
0065   gp_Pnt ptgui;
0066   gp_Vec nplan;
0067   Standard_Real normtg;
0068   Standard_Real theD;
0069   gp_Vec d1gui;
0070   gp_Vec d2gui;
0071   
0072   gp_Pnt pts1;
0073   gp_Pnt pts2;
0074   gp_Vec d1u1;
0075   gp_Vec d1v1;
0076   gp_Vec d1u2;
0077   gp_Vec d1v2;
0078 
0079 
0080 private:
0081 
0082 };
0083 
0084 
0085 
0086 
0087 
0088 
0089 
0090 #endif // _BlendFunc_ConstThroatInv_HeaderFile