File indexing completed on 2026-09-12 09:16:33
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _BlendFunc_RuledInv_HeaderFile
0018 #define _BlendFunc_RuledInv_HeaderFile
0019
0020 #include <Adaptor3d_Surface.hxx>
0021 #include <Blend_FuncInv.hxx>
0022 #include <math_Vector.hxx>
0023
0024 class math_Matrix;
0025
0026 class BlendFunc_RuledInv : public Blend_FuncInv
0027 {
0028 public:
0029 DEFINE_STANDARD_ALLOC
0030
0031 Standard_EXPORT BlendFunc_RuledInv(const occ::handle<Adaptor3d_Surface>& S1,
0032 const occ::handle<Adaptor3d_Surface>& S2,
0033 const occ::handle<Adaptor3d_Curve>& C);
0034
0035 Standard_EXPORT void Set(const bool OnFirst,
0036 const occ::handle<Adaptor2d_Curve2d>& COnSurf) override;
0037
0038 Standard_EXPORT void GetTolerance(math_Vector& Tolerance, const double Tol) const override;
0039
0040 Standard_EXPORT void GetBounds(math_Vector& InfBound, math_Vector& SupBound) const override;
0041
0042 Standard_EXPORT bool IsSolution(const math_Vector& Sol, const double Tol) override;
0043
0044
0045 Standard_EXPORT int NbEquations() const override;
0046
0047
0048
0049
0050
0051 Standard_EXPORT bool Value(const math_Vector& X, math_Vector& F) override;
0052
0053
0054
0055
0056
0057 Standard_EXPORT bool Derivatives(const math_Vector& X, math_Matrix& D) override;
0058
0059
0060
0061
0062
0063 Standard_EXPORT bool Values(const math_Vector& X, math_Vector& F, math_Matrix& D) override;
0064
0065 private:
0066 occ::handle<Adaptor3d_Surface> surf1;
0067 occ::handle<Adaptor3d_Surface> surf2;
0068 occ::handle<Adaptor3d_Curve> curv;
0069 occ::handle<Adaptor2d_Curve2d> csurf;
0070 bool first;
0071 };
0072
0073 #endif