Commit | Line | Data |
---|---|---|
92d1589b A |
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_ExtCF_HeaderFile | |
7 | #define _BRepExtrema_ExtCF_HeaderFile | |
8 | ||
9 | #ifndef _Standard_HeaderFile | |
10 | #include <Standard.hxx> | |
11 | #endif | |
12 | #ifndef _Standard_Macro_HeaderFile | |
13 | #include <Standard_Macro.hxx> | |
14 | #endif | |
15 | ||
16 | #ifndef _Extrema_ExtCS_HeaderFile | |
17 | #include <Extrema_ExtCS.hxx> | |
18 | #endif | |
19 | #ifndef _Standard_Integer_HeaderFile | |
20 | #include <Standard_Integer.hxx> | |
21 | #endif | |
22 | #ifndef _TColStd_SequenceOfReal_HeaderFile | |
23 | #include <TColStd_SequenceOfReal.hxx> | |
24 | #endif | |
25 | #ifndef _Extrema_SequenceOfPOnSurf_HeaderFile | |
26 | #include <Extrema_SequenceOfPOnSurf.hxx> | |
27 | #endif | |
28 | #ifndef _Extrema_SequenceOfPOnCurv_HeaderFile | |
29 | #include <Extrema_SequenceOfPOnCurv.hxx> | |
30 | #endif | |
31 | #ifndef _Handle_BRepAdaptor_HSurface_HeaderFile | |
32 | #include <Handle_BRepAdaptor_HSurface.hxx> | |
33 | #endif | |
34 | #ifndef _Standard_Boolean_HeaderFile | |
35 | #include <Standard_Boolean.hxx> | |
36 | #endif | |
37 | #ifndef _Standard_Real_HeaderFile | |
38 | #include <Standard_Real.hxx> | |
39 | #endif | |
40 | #ifndef _Extrema_POnCurv_HeaderFile | |
41 | #include <Extrema_POnCurv.hxx> | |
42 | #endif | |
43 | #ifndef _Extrema_POnSurf_HeaderFile | |
44 | #include <Extrema_POnSurf.hxx> | |
45 | #endif | |
46 | class BRepAdaptor_HSurface; | |
47 | class TopoDS_Edge; | |
48 | class TopoDS_Face; | |
49 | class gp_Pnt; | |
50 | ||
51 | ||
52 | class BRepExtrema_ExtCF | |
53 | { | |
54 | public: | |
55 | ||
56 | void* operator new(size_t,void* anAddress) | |
57 | { | |
58 | return anAddress; | |
59 | } | |
60 | void* operator new(size_t size) | |
61 | { | |
62 | return Standard::Allocate(size); | |
63 | } | |
64 | void operator delete(void *anAddress) | |
65 | { | |
66 | if (anAddress) Standard::Free((Standard_Address&)anAddress); | |
67 | } | |
68 | ||
69 | Standard_EXPORT BRepExtrema_ExtCF() | |
70 | { | |
71 | } | |
72 | //! It calculates all the distances. <br> | |
73 | Standard_EXPORT BRepExtrema_ExtCF(const TopoDS_Edge& V,const TopoDS_Face& E); | |
74 | ||
75 | Standard_EXPORT void Initialize(const TopoDS_Face& E); | |
76 | //! An exception is raised if the fields have not been initialized. <br> | |
77 | //! Be careful: this method uses the Face only for classify not for the fields. <br> | |
78 | Standard_EXPORT void Perform(const TopoDS_Edge& V,const TopoDS_Face& F); | |
79 | //! True if the distances are found. <br> | |
80 | Standard_EXPORT Standard_Boolean IsDone() const | |
81 | { | |
82 | return myExtCS.IsDone(); | |
83 | } | |
84 | //! Returns the number of extremum distances. <br> | |
85 | Standard_EXPORT Standard_Integer NbExt() const | |
86 | { | |
87 | return mySqDist.Length(); | |
88 | } | |
89 | //! Returns the value of the <N>th extremum square distance. <br> | |
90 | Standard_EXPORT Standard_Real SquareDistance(const Standard_Integer N) const | |
91 | { | |
92 | return mySqDist.Value(N); | |
93 | } | |
94 | //! Returns True if the curve is on a parallel surface. <br> | |
95 | Standard_EXPORT Standard_Boolean IsParallel() const | |
96 | { | |
97 | return myExtCS.IsParallel(); | |
98 | } | |
99 | //! Returns the parameters on the Edge of the <N>th extremum distance. <br> | |
100 | Standard_EXPORT Standard_Real ParameterOnEdge(const Standard_Integer N) const | |
101 | { | |
102 | return myPointsOnC.Value(N).Parameter(); | |
103 | } | |
104 | //! Returns the parameters on the Face of the <N>th extremum distance. <br> | |
105 | Standard_EXPORT void ParameterOnFace(const Standard_Integer N,Standard_Real& U,Standard_Real& V) const | |
106 | { | |
107 | myPointsOnS.Value(N).Parameter(U, V); | |
108 | } | |
109 | //! Returns the Point of the <N>th extremum distance. <br> | |
110 | Standard_EXPORT gp_Pnt PointOnEdge(const Standard_Integer N) const | |
111 | { | |
112 | return myPointsOnC.Value(N).Value(); | |
113 | } | |
114 | //! Returns the Point of the <N>th extremum distance. <br> | |
115 | Standard_EXPORT gp_Pnt PointOnFace(const Standard_Integer N) const | |
116 | { | |
117 | return myPointsOnS.Value(N).Value(); | |
118 | } | |
119 | ||
120 | private: | |
121 | ||
122 | Extrema_ExtCS myExtCS; | |
123 | TColStd_SequenceOfReal mySqDist; | |
124 | Extrema_SequenceOfPOnSurf myPointsOnS; | |
125 | Extrema_SequenceOfPOnCurv myPointsOnC; | |
126 | Handle_BRepAdaptor_HSurface myHS; | |
127 | }; | |
128 | ||
129 | #endif |