File indexing completed on 2025-01-18 10:04:08
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
0030 DEFINE_STANDARD_ALLOC
0031
0032
0033 Standard_EXPORT IntPatch_ArcFunction();
0034
0035 void SetQuadric (const IntSurf_Quadric& Q);
0036
0037 void Set (const Handle(Adaptor2d_Curve2d)& A);
0038
0039 void Set (const Handle(Adaptor3d_Surface)& S);
0040
0041 Standard_EXPORT Standard_Boolean Value (const Standard_Real X, Standard_Real& F) Standard_OVERRIDE;
0042
0043 Standard_EXPORT Standard_Boolean Derivative (const Standard_Real X, Standard_Real& D) Standard_OVERRIDE;
0044
0045 Standard_EXPORT Standard_Boolean Values (const Standard_Real X, Standard_Real& F, Standard_Real& D) Standard_OVERRIDE;
0046
0047 Standard_EXPORT Standard_Integer NbSamples() const;
0048
0049 Standard_EXPORT virtual Standard_Integer GetStateNumber() Standard_OVERRIDE;
0050
0051 const gp_Pnt& Valpoint (const Standard_Integer Index) const;
0052
0053 const IntSurf_Quadric& Quadric() const;
0054
0055 const Handle(Adaptor2d_Curve2d)& Arc() const;
0056
0057 const Handle(Adaptor3d_Surface)& Surface() const;
0058
0059
0060
0061 const gp_Pnt& LastComputedPoint() const;
0062
0063
0064
0065 protected:
0066
0067
0068
0069
0070
0071 private:
0072
0073
0074
0075 Handle(Adaptor2d_Curve2d) myArc;
0076 Handle(Adaptor3d_Surface) mySurf;
0077 IntSurf_Quadric myQuad;
0078 gp_Pnt ptsol;
0079 TColgp_SequenceOfPnt seqpt;
0080
0081
0082 };
0083
0084
0085 #include <IntPatch_ArcFunction.lxx>
0086
0087
0088
0089
0090
0091 #endif