0024428: Implementation of LGPL license
[occt.git] / src / Extrema / Extrema_Curve2dTool.lxx
1 // Created on: 1995-07-18
2 // Created by: Modelistation
3 // Copyright (c) 1995-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
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.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
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
31 inline Standard_Real Extrema_Curve2dTool::FirstParameter(const Adaptor2d_Curve2d& C)
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