File indexing completed on 2026-05-02 08:22:57
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _IntPatch_ArcFunction_HeaderFile
0018 #define _IntPatch_ArcFunction_HeaderFile
0019
0020 #include <Adaptor2d_Curve2d.hxx>
0021 #include <Adaptor3d_Surface.hxx>
0022 #include <IntSurf_Quadric.hxx>
0023 #include <TColgp_SequenceOfPnt.hxx>
0024 #include <math_FunctionWithDerivative.hxx>
0025
0026 class IntPatch_ArcFunction : public math_FunctionWithDerivative
0027 {
0028 public:
0029 DEFINE_STANDARD_ALLOC
0030
0031 Standard_EXPORT IntPatch_ArcFunction();
0032
0033 void SetQuadric(const IntSurf_Quadric& Q);
0034
0035 void Set(const Handle(Adaptor2d_Curve2d)& A);
0036
0037 void Set(const Handle(Adaptor3d_Surface)& S);
0038
0039 Standard_EXPORT Standard_Boolean Value(const Standard_Real X, Standard_Real& F) Standard_OVERRIDE;
0040
0041 Standard_EXPORT Standard_Boolean Derivative(const Standard_Real X,
0042 Standard_Real& D) Standard_OVERRIDE;
0043
0044 Standard_EXPORT Standard_Boolean Values(const Standard_Real X,
0045 Standard_Real& F,
0046 Standard_Real& D) Standard_OVERRIDE;
0047
0048 Standard_EXPORT Standard_Integer NbSamples() const;
0049
0050 Standard_EXPORT virtual Standard_Integer GetStateNumber() Standard_OVERRIDE;
0051
0052 const gp_Pnt& Valpoint(const Standard_Integer Index) const;
0053
0054 const IntSurf_Quadric& Quadric() const;
0055
0056 const Handle(Adaptor2d_Curve2d)& Arc() const;
0057
0058 const Handle(Adaptor3d_Surface)& Surface() const;
0059
0060
0061
0062 const gp_Pnt& LastComputedPoint() const;
0063
0064 protected:
0065 private:
0066 Handle(Adaptor2d_Curve2d) myArc;
0067 Handle(Adaptor3d_Surface) mySurf;
0068 IntSurf_Quadric myQuad;
0069 gp_Pnt ptsol;
0070 TColgp_SequenceOfPnt seqpt;
0071 };
0072
0073 #include <IntPatch_ArcFunction.lxx>
0074
0075 #endif