7fd59977 |
1 | // File: Extrema_Curve2dTool.lxx |
2 | // Created: Tue Jul 18 14:57:08 1995 |
3 | // Author: Modelistation |
4 | // <model@metrox> |
5 | |
6 | #include <gp_Lin2d.hxx> |
7 | #include <gp_Elips2d.hxx> |
8 | #include <gp_Circ2d.hxx> |
9 | #include <gp_Hypr2d.hxx> |
10 | #include <gp_Parab2d.hxx> |
11 | #include <Geom2d_BezierCurve.hxx> |
12 | #include <Geom2d_BSplineCurve.hxx> |
13 | #include <Adaptor2d_Curve2d.hxx> |
14 | |
15 | //======================================================================= |
16 | //function : FirstParameter |
17 | //purpose : |
18 | //======================================================================= |
19 | |
20 | inline Standard_Real Extrema_Curve2dTool::FirstParameter(const Adaptor2d_Curve2d& C) |
21 | { |
22 | return C.FirstParameter(); |
23 | } |
24 | |
25 | //======================================================================= |
26 | //function : LastParameter |
27 | //purpose : |
28 | //======================================================================= |
29 | |
30 | inline Standard_Real Extrema_Curve2dTool::LastParameter(const Adaptor2d_Curve2d& C) |
31 | { |
32 | return C.LastParameter(); |
33 | } |
34 | |
35 | //======================================================================= |
36 | //function : Continuity |
37 | //purpose : |
38 | //======================================================================= |
39 | |
40 | inline GeomAbs_Shape Extrema_Curve2dTool::Continuity(const Adaptor2d_Curve2d& C) |
41 | { |
42 | return C.Continuity(); |
43 | } |
44 | |
45 | //======================================================================= |
46 | //function : NbIntervals |
47 | //purpose : |
48 | //======================================================================= |
49 | |
50 | inline Standard_Integer Extrema_Curve2dTool::NbIntervals(const Adaptor2d_Curve2d& C, |
51 | const GeomAbs_Shape S) |
52 | { |
53 | return C.NbIntervals(S); |
54 | } |
55 | |
56 | //======================================================================= |
57 | //function : Intervals |
58 | //purpose : |
59 | //======================================================================= |
60 | |
61 | inline void Extrema_Curve2dTool::Intervals(const Adaptor2d_Curve2d& C, |
62 | TColStd_Array1OfReal& T, |
63 | const GeomAbs_Shape S) |
64 | { |
65 | C.Intervals(T, S); |
66 | } |
67 | |
68 | //======================================================================= |
69 | //function : IsClosed |
70 | //purpose : |
71 | //======================================================================= |
72 | |
73 | inline Standard_Boolean Extrema_Curve2dTool::IsClosed(const Adaptor2d_Curve2d& C) |
74 | { |
75 | return C.IsClosed(); |
76 | } |
77 | |
78 | //======================================================================= |
79 | //function : IsPeriodic |
80 | //purpose : |
81 | //======================================================================= |
82 | |
83 | inline Standard_Boolean Extrema_Curve2dTool::IsPeriodic(const Adaptor2d_Curve2d& C) |
84 | { |
85 | return C.IsPeriodic(); |
86 | } |
87 | |
88 | //======================================================================= |
89 | //function : Period |
90 | //purpose : |
91 | //======================================================================= |
92 | |
93 | inline Standard_Real Extrema_Curve2dTool::Period(const Adaptor2d_Curve2d& C) |
94 | { |
95 | return C.Period(); |
96 | } |
97 | |
98 | //======================================================================= |
99 | //function : Value |
100 | //purpose : |
101 | //======================================================================= |
102 | |
103 | inline gp_Pnt2d Extrema_Curve2dTool::Value(const Adaptor2d_Curve2d& C, |
104 | const Standard_Real U) |
105 | { |
106 | return C.Value(U); |
107 | } |
108 | |
109 | //======================================================================= |
110 | //function : D0 |
111 | //purpose : |
112 | //======================================================================= |
113 | |
114 | inline void Extrema_Curve2dTool::D0(const Adaptor2d_Curve2d& C, |
115 | const Standard_Real U, |
116 | gp_Pnt2d& P) |
117 | { |
118 | C.D0(U, P); |
119 | } |
120 | |
121 | //======================================================================= |
122 | //function : D1 |
123 | //purpose : |
124 | //======================================================================= |
125 | |
126 | inline void Extrema_Curve2dTool::D1(const Adaptor2d_Curve2d& C, |
127 | const Standard_Real U, |
128 | gp_Pnt2d& P, |
129 | gp_Vec2d& V) |
130 | { |
131 | C.D1(U, P, V); |
132 | } |
133 | |
134 | //======================================================================= |
135 | //function : D2 |
136 | //purpose : |
137 | //======================================================================= |
138 | |
139 | inline void Extrema_Curve2dTool::D2(const Adaptor2d_Curve2d& C, |
140 | const Standard_Real U, |
141 | gp_Pnt2d& P, |
142 | gp_Vec2d& V1, |
143 | gp_Vec2d& V2) |
144 | { |
145 | C.D2(U, P, V1, V2); |
146 | } |
147 | |
148 | //======================================================================= |
149 | //function : D3 |
150 | //purpose : |
151 | //======================================================================= |
152 | |
153 | inline void Extrema_Curve2dTool::D3(const Adaptor2d_Curve2d& C, |
154 | const Standard_Real U, |
155 | gp_Pnt2d& P, |
156 | gp_Vec2d& V1, |
157 | gp_Vec2d& V2, |
158 | gp_Vec2d& V3) |
159 | { |
160 | C.D3(U, P, V1, V2, V3); |
161 | } |
162 | |
163 | //======================================================================= |
164 | //function : DN |
165 | //purpose : |
166 | //======================================================================= |
167 | |
168 | inline gp_Vec2d Extrema_Curve2dTool::DN(const Adaptor2d_Curve2d& C, |
169 | const Standard_Real U, |
170 | const Standard_Integer N) |
171 | { |
172 | return C.DN(U, N); |
173 | } |
174 | |
175 | //======================================================================= |
176 | //function : Resolution |
177 | //purpose : |
178 | //======================================================================= |
179 | |
180 | inline Standard_Real Extrema_Curve2dTool::Resolution(const Adaptor2d_Curve2d& C, |
181 | const Standard_Real R3d) |
182 | { |
183 | return C.Resolution(R3d); |
184 | } |
185 | |
186 | //======================================================================= |
187 | //function : GetType |
188 | //purpose : |
189 | //======================================================================= |
190 | |
191 | inline GeomAbs_CurveType Extrema_Curve2dTool::GetType(const Adaptor2d_Curve2d& C) |
192 | { |
193 | return C.GetType(); |
194 | } |
195 | |
196 | //======================================================================= |
197 | //function : Line |
198 | //purpose : |
199 | //======================================================================= |
200 | |
201 | inline gp_Lin2d Extrema_Curve2dTool::Line(const Adaptor2d_Curve2d& C) |
202 | { |
203 | return C.Line(); |
204 | } |
205 | |
206 | //======================================================================= |
207 | //function : Circle |
208 | //purpose : |
209 | //======================================================================= |
210 | |
211 | inline gp_Circ2d Extrema_Curve2dTool::Circle(const Adaptor2d_Curve2d& C) |
212 | { |
213 | return C.Circle(); |
214 | } |
215 | |
216 | //======================================================================= |
217 | //function : Ellipse |
218 | //purpose : |
219 | //======================================================================= |
220 | |
221 | inline gp_Elips2d Extrema_Curve2dTool::Ellipse(const Adaptor2d_Curve2d& C) |
222 | { |
223 | return C.Ellipse(); |
224 | } |
225 | |
226 | //======================================================================= |
227 | //function : Hyperbola |
228 | //purpose : |
229 | //======================================================================= |
230 | |
231 | inline gp_Hypr2d Extrema_Curve2dTool::Hyperbola(const Adaptor2d_Curve2d& C) |
232 | { |
233 | return C.Hyperbola(); |
234 | } |
235 | |
236 | //======================================================================= |
237 | //function : Parabola |
238 | //purpose : |
239 | //======================================================================= |
240 | |
241 | inline gp_Parab2d Extrema_Curve2dTool::Parabola(const Adaptor2d_Curve2d& C) |
242 | { |
243 | return C.Parabola(); |
244 | } |
245 | |
246 | //======================================================================= |
247 | //function : NbPoles |
248 | //purpose : |
249 | //======================================================================= |
250 | |
251 | inline Standard_Integer Extrema_Curve2dTool::NbPoles(const Adaptor2d_Curve2d& C) |
252 | { |
253 | return C.NbPoles(); |
254 | } |
255 | |
256 | //======================================================================= |
257 | //function : Degree |
258 | //purpose : |
259 | //======================================================================= |
260 | |
261 | inline Standard_Integer Extrema_Curve2dTool::Degree(const Adaptor2d_Curve2d& C) |
262 | { |
263 | return C.Degree(); |
264 | } |
265 | |
266 | //======================================================================= |
267 | //function : IsRational |
268 | //purpose : |
269 | //======================================================================= |
270 | |
271 | inline Standard_Boolean Extrema_Curve2dTool::IsRational(const Adaptor2d_Curve2d& C) |
272 | { |
273 | return C.Degree(); |
274 | } |
275 | |
276 | |
277 | //======================================================================= |
278 | //function : NbKnots |
279 | //purpose : |
280 | //======================================================================= |
281 | |
282 | inline Standard_Integer Extrema_Curve2dTool::NbKnots(const Adaptor2d_Curve2d& C) |
283 | { |
284 | return C.NbKnots(); |
285 | } |
286 | |
287 | //======================================================================= |
288 | //function : Bezier |
289 | //purpose : |
290 | //======================================================================= |
291 | |
292 | inline Handle(Geom2d_BezierCurve) Extrema_Curve2dTool::Bezier(const Adaptor2d_Curve2d& C) |
293 | { |
294 | return C.Bezier(); |
295 | } |
296 | |
297 | //======================================================================= |
298 | //function : BSpline |
299 | //purpose : |
300 | //======================================================================= |
301 | |
302 | inline Handle(Geom2d_BSplineCurve) Extrema_Curve2dTool::BSpline(const Adaptor2d_Curve2d& C) |
303 | { |
304 | return C.BSpline(); |
305 | } |
306 | |