File indexing completed on 2026-07-26 09:15:47
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _BlendFunc_ChAsymInv_HeaderFile
0018 #define _BlendFunc_ChAsymInv_HeaderFile
0019
0020 #include <Adaptor3d_Surface.hxx>
0021 #include <math_Matrix.hxx>
0022 #include <Blend_FuncInv.hxx>
0023
0024 class BlendFunc_ChAsymInv : public Blend_FuncInv
0025 {
0026 public:
0027 DEFINE_STANDARD_ALLOC
0028
0029 Standard_EXPORT BlendFunc_ChAsymInv(const Handle(Adaptor3d_Surface)& S1,
0030 const Handle(Adaptor3d_Surface)& S2,
0031 const Handle(Adaptor3d_Curve)& C);
0032
0033 Standard_EXPORT void Set(const Standard_Boolean OnFirst,
0034 const Handle(Adaptor2d_Curve2d)& COnSurf) Standard_OVERRIDE;
0035
0036 Standard_EXPORT void GetTolerance(math_Vector& Tolerance,
0037 const Standard_Real Tol) const Standard_OVERRIDE;
0038
0039 Standard_EXPORT void GetBounds(math_Vector& InfBound,
0040 math_Vector& SupBound) const Standard_OVERRIDE;
0041
0042 Standard_EXPORT Standard_Boolean IsSolution(const math_Vector& Sol,
0043 const Standard_Real Tol) Standard_OVERRIDE;
0044
0045
0046 Standard_EXPORT Standard_Integer NbEquations() const Standard_OVERRIDE;
0047
0048
0049
0050
0051
0052 Standard_EXPORT Standard_Boolean ComputeValues(const math_Vector& X,
0053 const Standard_Integer DegF,
0054 const Standard_Integer DegL);
0055
0056
0057
0058
0059
0060 Standard_EXPORT Standard_Boolean Value(const math_Vector& X, math_Vector& F) Standard_OVERRIDE;
0061
0062
0063
0064
0065
0066 Standard_EXPORT Standard_Boolean Derivatives(const math_Vector& X,
0067 math_Matrix& D) Standard_OVERRIDE;
0068
0069
0070
0071
0072
0073 Standard_EXPORT Standard_Boolean Values(const math_Vector& X,
0074 math_Vector& F,
0075 math_Matrix& D) Standard_OVERRIDE;
0076
0077 Standard_EXPORT void Set(const Standard_Real Dist1,
0078 const Standard_Real Angle,
0079 const Standard_Integer Choix);
0080
0081 protected:
0082 private:
0083 Handle(Adaptor3d_Surface) surf1;
0084 Handle(Adaptor3d_Surface) surf2;
0085 Standard_Real dist1;
0086 Standard_Real angle;
0087 Standard_Real tgang;
0088 Handle(Adaptor3d_Curve) curv;
0089 Handle(Adaptor2d_Curve2d) csurf;
0090 Standard_Integer choix;
0091 Standard_Boolean first;
0092 math_Vector FX;
0093 math_Matrix DX;
0094 };
0095
0096 #endif