File indexing completed on 2025-01-18 10:04:06
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _IntCurve_IConicTool_HeaderFile
0018 #define _IntCurve_IConicTool_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <gp_Ax22d.hxx>
0024 #include <GeomAbs_CurveType.hxx>
0025 #include <gp_Trsf2d.hxx>
0026 class gp_Elips2d;
0027 class gp_Lin2d;
0028 class gp_Circ2d;
0029 class gp_Parab2d;
0030 class gp_Hypr2d;
0031 class gp_Pnt2d;
0032 class gp_Vec2d;
0033
0034
0035
0036
0037 class IntCurve_IConicTool
0038 {
0039 public:
0040
0041 DEFINE_STANDARD_ALLOC
0042
0043
0044 Standard_EXPORT IntCurve_IConicTool();
0045
0046 Standard_EXPORT IntCurve_IConicTool(const IntCurve_IConicTool& IT);
0047
0048 Standard_EXPORT IntCurve_IConicTool(const gp_Elips2d& E);
0049
0050 Standard_EXPORT IntCurve_IConicTool(const gp_Lin2d& L);
0051
0052 Standard_EXPORT IntCurve_IConicTool(const gp_Circ2d& C);
0053
0054 Standard_EXPORT IntCurve_IConicTool(const gp_Parab2d& P);
0055
0056 Standard_EXPORT IntCurve_IConicTool(const gp_Hypr2d& H);
0057
0058 Standard_EXPORT gp_Pnt2d Value (const Standard_Real X) const;
0059
0060 Standard_EXPORT void D1 (const Standard_Real U, gp_Pnt2d& P, gp_Vec2d& T) const;
0061
0062 Standard_EXPORT void D2 (const Standard_Real U, gp_Pnt2d& P, gp_Vec2d& T, gp_Vec2d& N) const;
0063
0064
0065
0066 Standard_EXPORT Standard_Real Distance (const gp_Pnt2d& P) const;
0067
0068
0069
0070
0071 Standard_EXPORT gp_Vec2d GradDistance (const gp_Pnt2d& P) const;
0072
0073
0074
0075
0076 Standard_EXPORT Standard_Real FindParameter (const gp_Pnt2d& P) const;
0077
0078 private:
0079
0080 Standard_Real prm1;
0081 Standard_Real prm2;
0082 Standard_Real prm3;
0083 gp_Ax22d Axis;
0084 GeomAbs_CurveType type;
0085 gp_Trsf2d Abs_To_Object;
0086
0087 };
0088
0089 #endif