File indexing completed on 2026-09-18 09:20:57
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _IntPatch_CSFunction_HeaderFile
0018 #define _IntPatch_CSFunction_HeaderFile
0019
0020 #include <Adaptor2d_Curve2d.hxx>
0021 #include <Adaptor3d_Surface.hxx>
0022 #include <math_FunctionSetWithDerivatives.hxx>
0023 #include <math_Vector.hxx>
0024
0025 class math_Matrix;
0026
0027
0028
0029 class IntPatch_CSFunction : public math_FunctionSetWithDerivatives
0030 {
0031 public:
0032 DEFINE_STANDARD_ALLOC
0033
0034
0035
0036 Standard_EXPORT IntPatch_CSFunction(const occ::handle<Adaptor3d_Surface>& S1,
0037 const occ::handle<Adaptor2d_Curve2d>& C,
0038 const occ::handle<Adaptor3d_Surface>& S2);
0039
0040 Standard_EXPORT int NbVariables() const override;
0041
0042 Standard_EXPORT int NbEquations() const override;
0043
0044 Standard_EXPORT bool Value(const math_Vector& X, math_Vector& F) override;
0045
0046 Standard_EXPORT bool Derivatives(const math_Vector& X, math_Matrix& D) override;
0047
0048 Standard_EXPORT bool Values(const math_Vector& X, math_Vector& F, math_Matrix& D) override;
0049
0050 Standard_EXPORT const gp_Pnt& Point() const;
0051
0052 Standard_EXPORT double Root() const;
0053
0054 Standard_EXPORT const occ::handle<Adaptor3d_Surface>& AuxillarSurface() const;
0055
0056 Standard_EXPORT const occ::handle<Adaptor2d_Curve2d>& AuxillarCurve() const;
0057
0058 private:
0059 void* curve;
0060 void* surface1;
0061 void* surface2;
0062 gp_Pnt p;
0063 double f;
0064 };
0065
0066 #endif