File indexing completed on 2026-05-19 08:16:51
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 class IntCurve_IConicTool
0037 {
0038 public:
0039 DEFINE_STANDARD_ALLOC
0040
0041 Standard_EXPORT IntCurve_IConicTool();
0042
0043 Standard_EXPORT IntCurve_IConicTool(const IntCurve_IConicTool& IT);
0044
0045 Standard_EXPORT IntCurve_IConicTool(const gp_Elips2d& E);
0046
0047 Standard_EXPORT IntCurve_IConicTool(const gp_Lin2d& L);
0048
0049 Standard_EXPORT IntCurve_IConicTool(const gp_Circ2d& C);
0050
0051 Standard_EXPORT IntCurve_IConicTool(const gp_Parab2d& P);
0052
0053 Standard_EXPORT IntCurve_IConicTool(const gp_Hypr2d& H);
0054
0055 Standard_EXPORT gp_Pnt2d Value(const Standard_Real X) const;
0056
0057 Standard_EXPORT void D1(const Standard_Real U, gp_Pnt2d& P, gp_Vec2d& T) const;
0058
0059 Standard_EXPORT void D2(const Standard_Real U, gp_Pnt2d& P, gp_Vec2d& T, gp_Vec2d& N) const;
0060
0061
0062
0063 Standard_EXPORT Standard_Real Distance(const gp_Pnt2d& P) const;
0064
0065
0066
0067
0068 Standard_EXPORT gp_Vec2d GradDistance(const gp_Pnt2d& P) const;
0069
0070
0071
0072
0073 Standard_EXPORT Standard_Real FindParameter(const gp_Pnt2d& P) const;
0074
0075 private:
0076 Standard_Real prm1;
0077 Standard_Real prm2;
0078 Standard_Real prm3;
0079 gp_Ax22d Axis;
0080 GeomAbs_CurveType type;
0081 gp_Trsf2d Abs_To_Object;
0082 };
0083
0084 #endif