0022692: A wrong function is called inside the Extrema_CurveTool::IsRational
[occt.git] / src / Extrema / Extrema_CurveTool.lxx
1 // File:        Extrema_CurveTool.lxx
2 // Created:     Tue Jul 18 13:02:43 1995
3 // Author:      Modelistation
4 //              <model@metrox>
5
6 #include <gp_Vec.hxx>
7 #include <gp_Pnt.hxx>
8 #include <gp_Parab.hxx>
9 #include <gp_Lin.hxx>
10 #include <gp_Elips.hxx>
11 #include <gp_Hypr.hxx>
12 #include <gp_Circ.hxx>
13 #include <Geom_BezierCurve.hxx>
14 #include <Geom_BSplineCurve.hxx>
15 #include <Adaptor3d_Curve.hxx>
16
17
18 //=======================================================================
19 //function : FirstParameter
20 //purpose  : 
21 //=======================================================================
22
23 inline Standard_Real Extrema_CurveTool::FirstParameter(const Adaptor3d_Curve& C)
24 {
25   return C.FirstParameter();
26 }
27
28 //=======================================================================
29 //function : LastParameter
30 //purpose  : 
31 //=======================================================================
32
33 inline Standard_Real Extrema_CurveTool::LastParameter(const Adaptor3d_Curve& C)
34 {
35   return C.LastParameter();
36 }
37
38 //=======================================================================
39 //function : Value
40 //purpose  : 
41 //=======================================================================
42
43 inline gp_Pnt Extrema_CurveTool::Value(const Adaptor3d_Curve& C,
44                                        const Standard_Real U)
45 {
46   return C.Value(U);
47 }
48
49
50 //=======================================================================
51 //function : D1
52 //purpose  : 
53 //=======================================================================
54
55 inline void Extrema_CurveTool::D1(const Adaptor3d_Curve& C,
56                                   const Standard_Real U,
57                                   gp_Pnt& P,
58                                   gp_Vec& V)
59 {
60   C.D1(U, P, V);
61 }
62
63 //=======================================================================
64 //function : D2
65 //purpose  : 
66 //=======================================================================
67
68 inline void Extrema_CurveTool::D2(const Adaptor3d_Curve& C,
69                                   const Standard_Real U,
70                                   gp_Pnt& P,
71                                   gp_Vec& V1,
72                                   gp_Vec& V2)
73 {
74   C.D2(U, P, V1, V2);
75 }
76
77
78
79 //=======================================================================
80 //function : Continuity
81 //purpose  : 
82 //=======================================================================
83
84 inline GeomAbs_Shape Extrema_CurveTool::Continuity(const Adaptor3d_Curve& C)
85 {
86   return C.Continuity();
87 }
88
89 //=======================================================================
90 //function : NbIntervals
91 //purpose  : 
92 //=======================================================================
93
94 inline Standard_Integer Extrema_CurveTool::NbIntervals(Adaptor3d_Curve& C,
95                                                        const GeomAbs_Shape S)
96 {
97   return C.NbIntervals(S);
98 }
99
100
101 //=======================================================================
102 //function : Intervals
103 //purpose  : 
104 //=======================================================================
105
106 inline void Extrema_CurveTool::Intervals(Adaptor3d_Curve& C,
107                                          TColStd_Array1OfReal& T,
108                                          const GeomAbs_Shape   S)
109 {
110   C.Intervals(T, S);
111 }
112
113 //=======================================================================
114 //function : Period
115 //purpose  : 
116 //=======================================================================
117
118 inline Standard_Real Extrema_CurveTool::Period(const Adaptor3d_Curve& C)
119 {
120   return C.Period();
121 }
122
123
124 //=======================================================================
125 //function : GetType
126 //purpose  : 
127 //=======================================================================
128
129 inline GeomAbs_CurveType Extrema_CurveTool::GetType(const Adaptor3d_Curve& C)
130 {
131   return C.GetType();
132 }
133
134 //=======================================================================
135 //function : Line
136 //purpose  : 
137 //=======================================================================
138
139 inline gp_Lin Extrema_CurveTool::Line(const Adaptor3d_Curve& C)
140 {
141   return C.Line();
142 }
143
144 //=======================================================================
145 //function : Circle
146 //purpose  : 
147 //=======================================================================
148
149 inline gp_Circ Extrema_CurveTool::Circle(const Adaptor3d_Curve& C)
150 {
151   return C.Circle();
152 }
153
154 //=======================================================================
155 //function : Ellipse
156 //purpose  : 
157 //=======================================================================
158
159 inline gp_Elips Extrema_CurveTool::Ellipse(const Adaptor3d_Curve& C)
160 {
161   return C.Ellipse();
162 }
163
164 //=======================================================================
165 //function : Hyperbola
166 //purpose  : 
167 //=======================================================================
168
169 inline gp_Hypr Extrema_CurveTool::Hyperbola(const Adaptor3d_Curve& C)
170 {
171   return C.Hyperbola();
172 }
173
174 //=======================================================================
175 //function : Parabola
176 //purpose  : 
177 //=======================================================================
178
179 inline gp_Parab Extrema_CurveTool::Parabola(const Adaptor3d_Curve& C)
180 {
181   return C.Parabola();
182 }
183 //=======================================================================
184 //function : NbPoles
185 //purpose  : 
186 //=======================================================================
187
188  inline Standard_Integer Extrema_CurveTool::NbPoles(const Adaptor3d_Curve& C)
189 {
190   return C.NbPoles();
191 }
192
193 //=======================================================================
194 //function : Degree
195 //purpose  : 
196 //=======================================================================
197
198  inline Standard_Integer Extrema_CurveTool::Degree(const Adaptor3d_Curve& C)
199 {
200   return C.Degree();
201 }
202
203 //=======================================================================
204 //function : IsRational
205 //purpose  : 
206 //=======================================================================
207
208  inline Standard_Boolean Extrema_CurveTool::IsRational(const Adaptor3d_Curve& C)
209 {
210   return C.IsRational();
211 }
212
213 //=======================================================================
214 //function : NbKnots
215 //purpose  : 
216 //=======================================================================
217
218  inline Standard_Integer Extrema_CurveTool::NbKnots(const Adaptor3d_Curve& C)
219 {
220   return C.NbKnots();
221 }
222
223
224 //=======================================================================
225 //function : Bezier
226 //purpose  : 
227 //=======================================================================
228
229 inline Handle(Geom_BezierCurve) Extrema_CurveTool::Bezier(const Adaptor3d_Curve& C)
230 {
231   return C.Bezier();
232 }
233
234 //=======================================================================
235 //function : BSpline
236 //purpose  : 
237 //=======================================================================
238
239 inline Handle(Geom_BSplineCurve) Extrema_CurveTool::BSpline(const Adaptor3d_Curve& C)
240 {
241   return C.BSpline();
242 }
243
244 //=======================================================================
245 //function : Resolution
246 //purpose  : 
247 //=======================================================================
248
249 inline Standard_Real Extrema_CurveTool::Resolution(const Adaptor3d_Curve& C,
250                                                    const Standard_Real R3d) 
251 {
252   return C.Resolution(R3d);
253 }