0022815: Missing delete operator for placement new
[occt.git] / src / BRepExtrema / BRepExtrema_ExtCC.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_ExtCC_HeaderFile
7 #define _BRepExtrema_ExtCC_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_ExtCC_HeaderFile
20 #include <Extrema_ExtCC.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_Edge;
36 class gp_Pnt;
37
38
39 class BRepExtrema_ExtCC
40 {
41  public:
42
43   DEFINE_STANDARD_ALLOC
44   
45   Standard_EXPORT BRepExtrema_ExtCC()
46   {
47   }
48   //! It calculates all the distances. <br>
49   Standard_EXPORT BRepExtrema_ExtCC(const TopoDS_Edge& E1,const TopoDS_Edge& E2);
50
51   Standard_EXPORT void Initialize(const TopoDS_Edge& E2);
52   //! An exception is raised if the fields have not been initialized. <br>
53   Standard_EXPORT void Perform(const TopoDS_Edge& E1);
54   //! True if the distances are found. <br>
55   Standard_EXPORT Standard_Boolean IsDone() const
56   {
57     return myExtCC.IsDone();
58   }
59   //! Returns the number of extremum distances. <br>
60   Standard_EXPORT Standard_Integer NbExt() const
61   {
62     return myExtCC.NbExt();
63   }
64   //! Returns True if E1 and E2 are parallel. <br>
65   Standard_EXPORT Standard_Boolean IsParallel() const
66   {
67     return myExtCC.IsParallel();
68   }
69   //! Returns the value of the <N>th extremum square distance. <br>
70   Standard_EXPORT Standard_Real SquareDistance(const Standard_Integer N) const
71   {
72     return myExtCC.SquareDistance(N);
73   }
74   //! Returns the parameter on the first edge of the <N>th extremum distance. <br>
75   Standard_EXPORT Standard_Real ParameterOnE1(const Standard_Integer N) const;
76   //! Returns the Point of the <N>th extremum distance on the edge E1. <br>
77   Standard_EXPORT gp_Pnt PointOnE1(const Standard_Integer N) const;
78   //! Returns the parameter on the second edge of the <N>th extremum distance. <br>
79   Standard_EXPORT Standard_Real ParameterOnE2(const Standard_Integer N) const;
80   //! Returns the Point of the <N>th extremum distance on the edge E2. <br>
81   Standard_EXPORT gp_Pnt PointOnE2(const Standard_Integer N) const;
82   //! if the edges is a trimmed curve, <br>
83   //! dist11 is a square distance between the point on E1 <br>
84   //! of parameter FirstParameter and the point of <br>
85   //! parameter FirstParameter on E2. <br>
86   Standard_EXPORT void TrimmedSquareDistances(Standard_Real& dist11,Standard_Real& distP12,Standard_Real& distP21,Standard_Real& distP22,gp_Pnt& P11,gp_Pnt& P12,gp_Pnt& P21,gp_Pnt& P22) const;
87
88  private:
89
90   Extrema_ExtCC myExtCC;
91   Handle_BRepAdaptor_HCurve myHC;
92 };
93
94 #endif