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