File indexing completed on 2026-10-24 09:13:07
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 occ::handle<Adaptor3d_Surface>& S1,
0030 const occ::handle<Adaptor3d_Surface>& S2,
0031 const occ::handle<Adaptor3d_Curve>& C);
0032
0033 Standard_EXPORT void Set(const bool OnFirst,
0034 const occ::handle<Adaptor2d_Curve2d>& COnSurf) override;
0035
0036 Standard_EXPORT void GetTolerance(math_Vector& Tolerance, const double Tol) const override;
0037
0038 Standard_EXPORT void GetBounds(math_Vector& InfBound, math_Vector& SupBound) const override;
0039
0040 Standard_EXPORT bool IsSolution(const math_Vector& Sol, const double Tol) override;
0041
0042
0043 Standard_EXPORT int NbEquations() const override;
0044
0045
0046
0047
0048
0049 Standard_EXPORT bool ComputeValues(const math_Vector& X, const int DegF, const int DegL);
0050
0051
0052
0053
0054
0055 Standard_EXPORT bool Value(const math_Vector& X, math_Vector& F) override;
0056
0057
0058
0059
0060
0061 Standard_EXPORT bool Derivatives(const math_Vector& X, math_Matrix& D) override;
0062
0063
0064
0065
0066
0067 Standard_EXPORT bool Values(const math_Vector& X, math_Vector& F, math_Matrix& D) override;
0068
0069 Standard_EXPORT void Set(const double Dist1, const double Angle, const int Choix);
0070
0071 private:
0072 occ::handle<Adaptor3d_Surface> surf1;
0073 occ::handle<Adaptor3d_Surface> surf2;
0074 double dist1;
0075 double angle;
0076 double tgang;
0077 occ::handle<Adaptor3d_Curve> curv;
0078 occ::handle<Adaptor2d_Curve2d> csurf;
0079 int choix;
0080 bool first;
0081 math_Vector FX;
0082 math_Matrix DX;
0083 };
0084
0085 #endif