File indexing completed on 2025-01-18 10:03:22
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Contap_ArcFunction_HeaderFile
0018 #define _Contap_ArcFunction_HeaderFile
0019
0020 #include <Adaptor2d_Curve2d.hxx>
0021 #include <Adaptor3d_Surface.hxx>
0022 #include <Contap_TFunction.hxx>
0023 #include <gp_Dir.hxx>
0024 #include <gp_Pnt.hxx>
0025 #include <TColgp_SequenceOfPnt.hxx>
0026 #include <IntSurf_Quadric.hxx>
0027 #include <math_FunctionWithDerivative.hxx>
0028
0029 class Contap_ArcFunction : public math_FunctionWithDerivative
0030 {
0031 public:
0032
0033 DEFINE_STANDARD_ALLOC
0034
0035
0036 Standard_EXPORT Contap_ArcFunction();
0037
0038 Standard_EXPORT void Set (const Handle(Adaptor3d_Surface)& S);
0039
0040 void Set (const gp_Dir& Direction);
0041
0042 void Set (const gp_Dir& Direction, const Standard_Real Angle);
0043
0044 void Set (const gp_Pnt& Eye);
0045
0046 void Set (const gp_Pnt& Eye, const Standard_Real Angle);
0047
0048 void Set (const Handle(Adaptor2d_Curve2d)& A);
0049
0050 Standard_EXPORT Standard_Boolean Value (const Standard_Real X, Standard_Real& F) Standard_OVERRIDE;
0051
0052 Standard_EXPORT Standard_Boolean Derivative (const Standard_Real X, Standard_Real& D) Standard_OVERRIDE;
0053
0054 Standard_EXPORT Standard_Boolean Values (const Standard_Real X, Standard_Real& F, Standard_Real& D) Standard_OVERRIDE;
0055
0056 Standard_EXPORT Standard_Integer NbSamples() const;
0057
0058 Standard_EXPORT virtual Standard_Integer GetStateNumber() Standard_OVERRIDE;
0059
0060 const gp_Pnt& Valpoint (const Standard_Integer Index) const;
0061
0062 Standard_EXPORT const IntSurf_Quadric& Quadric() const;
0063
0064
0065 const Handle(Adaptor3d_Surface)& Surface() const;
0066
0067
0068
0069 const gp_Pnt& LastComputedPoint() const;
0070
0071
0072 protected:
0073
0074
0075
0076
0077
0078 private:
0079
0080
0081
0082 Handle(Adaptor2d_Curve2d) myArc;
0083 Handle(Adaptor3d_Surface) mySurf;
0084 Standard_Real myMean;
0085 Contap_TFunction myType;
0086 gp_Dir myDir;
0087 Standard_Real myCosAng;
0088 gp_Pnt myEye;
0089 gp_Pnt solpt;
0090 TColgp_SequenceOfPnt seqpt;
0091 IntSurf_Quadric myQuad;
0092
0093
0094 };
0095
0096
0097 #include <Contap_ArcFunction.lxx>
0098
0099
0100
0101
0102
0103 #endif