0022815: Missing delete operator for placement new
[occt.git] / src / BRepExtrema / BRepExtrema_ExtPC.hxx
1 // This file is generated by WOK (CPPExt).
2 // Please do not edit this file; modify original file instead.
3 // The copyright and license terms as defined for the original file apply to 
4 // this header file considered to be the "object code" form of the original source.
5
6 #ifndef _BRepExtrema_ExtPC_HeaderFile
7 #define _BRepExtrema_ExtPC_HeaderFile
8
9 #ifndef _Standard_HeaderFile
10 #include <Standard.hxx>
11 #endif
12 #ifndef _Standard_DefineAlloc_HeaderFile
13 #include <Standard_DefineAlloc.hxx>
14 #endif
15 #ifndef _Standard_Macro_HeaderFile
16 #include <Standard_Macro.hxx>
17 #endif
18
19 #ifndef _Extrema_ExtPC_HeaderFile
20 #include <Extrema_ExtPC.hxx>
21 #endif
22 #ifndef _Handle_BRepAdaptor_HCurve_HeaderFile
23 #include <Handle_BRepAdaptor_HCurve.hxx>
24 #endif
25 #ifndef _Standard_Boolean_HeaderFile
26 #include <Standard_Boolean.hxx>
27 #endif
28 #ifndef _Standard_Integer_HeaderFile
29 #include <Standard_Integer.hxx>
30 #endif
31 #ifndef _Standard_Real_HeaderFile
32 #include <Standard_Real.hxx>
33 #endif
34 class BRepAdaptor_HCurve;
35 class TopoDS_Vertex;
36 class TopoDS_Edge;
37 class gp_Pnt;
38
39
40 class BRepExtrema_ExtPC
41 {
42  public:
43
44   DEFINE_STANDARD_ALLOC
45   
46   Standard_EXPORT BRepExtrema_ExtPC()
47   {
48   }
49   //! It calculates all the distances. <br>
50   Standard_EXPORT BRepExtrema_ExtPC(const TopoDS_Vertex& V,const TopoDS_Edge& E);
51   
52   Standard_EXPORT void Initialize(const TopoDS_Edge& E);
53   //! An exception is raised if the fields have not been initialized. <br>
54   Standard_EXPORT void Perform(const TopoDS_Vertex& V);
55   //! True if the distances are found. <br>
56   Standard_EXPORT Standard_Boolean IsDone() const
57   {
58     return myExtPC.IsDone();
59   }
60   //! Returns the number of extremum distances. <br>
61   Standard_EXPORT Standard_Integer NbExt() const
62   {
63     return myExtPC.NbExt();
64   }
65   //! Returns True if the <N>th extremum distance is a minimum. <br>
66   Standard_EXPORT Standard_Boolean IsMin(const Standard_Integer N) const
67   {
68     return myExtPC.IsMin(N);
69   }
70   //! Returns the value of the <N>th extremum square distance. <br>
71   Standard_EXPORT Standard_Real SquareDistance(const Standard_Integer N) const
72   {
73     return myExtPC.SquareDistance(N);
74   }
75   //! Returns the parameter on the edge of the <N>th extremum distance. <br>
76   Standard_EXPORT Standard_Real Parameter(const Standard_Integer N) const
77   {
78     return myExtPC.Point(N).Parameter();
79   }
80   //! Returns the Point of the <N>th extremum distance. <br>
81   Standard_EXPORT gp_Pnt Point(const Standard_Integer N) const
82   {
83     return myExtPC.Point(N).Value();
84   }
85   //! if the curve is a trimmed curve, <br>
86   //! dist1 is a square distance between <P> and the point <br>
87   //! of parameter FirstParameter <pnt1> and <br>
88   //! dist2 is a square distance between <P> and the point <br>
89   //! of parameter LastParameter <pnt2>. <br>
90   Standard_EXPORT void TrimmedSquareDistances(Standard_Real& dist1,Standard_Real& dist2,gp_Pnt& pnt1,gp_Pnt& pnt2) const
91   {
92     myExtPC.TrimmedSquareDistances(dist1,dist2,pnt1,pnt2);
93   }
94
95  private:
96
97   Extrema_ExtPC myExtPC;
98   Handle_BRepAdaptor_HCurve myHC;
99 };
100
101 #endif