1 // File: Extrema_CurveTool.lxx
2 // Created: Tue Jul 18 13:02:43 1995
3 // Author: Modelistation
8 #include <gp_Parab.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>
18 //=======================================================================
19 //function : FirstParameter
21 //=======================================================================
23 inline Standard_Real Extrema_CurveTool::FirstParameter(const Adaptor3d_Curve& C)
25 return C.FirstParameter();
28 //=======================================================================
29 //function : LastParameter
31 //=======================================================================
33 inline Standard_Real Extrema_CurveTool::LastParameter(const Adaptor3d_Curve& C)
35 return C.LastParameter();
38 //=======================================================================
41 //=======================================================================
43 inline gp_Pnt Extrema_CurveTool::Value(const Adaptor3d_Curve& C,
44 const Standard_Real U)
50 //=======================================================================
53 //=======================================================================
55 inline void Extrema_CurveTool::D1(const Adaptor3d_Curve& C,
56 const Standard_Real U,
63 //=======================================================================
66 //=======================================================================
68 inline void Extrema_CurveTool::D2(const Adaptor3d_Curve& C,
69 const Standard_Real U,
79 //=======================================================================
80 //function : Continuity
82 //=======================================================================
84 inline GeomAbs_Shape Extrema_CurveTool::Continuity(const Adaptor3d_Curve& C)
86 return C.Continuity();
89 //=======================================================================
90 //function : NbIntervals
92 //=======================================================================
94 inline Standard_Integer Extrema_CurveTool::NbIntervals(Adaptor3d_Curve& C,
95 const GeomAbs_Shape S)
97 return C.NbIntervals(S);
101 //=======================================================================
102 //function : Intervals
104 //=======================================================================
106 inline void Extrema_CurveTool::Intervals(Adaptor3d_Curve& C,
107 TColStd_Array1OfReal& T,
108 const GeomAbs_Shape S)
113 //=======================================================================
116 //=======================================================================
118 inline Standard_Real Extrema_CurveTool::Period(const Adaptor3d_Curve& C)
124 //=======================================================================
127 //=======================================================================
129 inline GeomAbs_CurveType Extrema_CurveTool::GetType(const Adaptor3d_Curve& C)
134 //=======================================================================
137 //=======================================================================
139 inline gp_Lin Extrema_CurveTool::Line(const Adaptor3d_Curve& C)
144 //=======================================================================
147 //=======================================================================
149 inline gp_Circ Extrema_CurveTool::Circle(const Adaptor3d_Curve& C)
154 //=======================================================================
157 //=======================================================================
159 inline gp_Elips Extrema_CurveTool::Ellipse(const Adaptor3d_Curve& C)
164 //=======================================================================
165 //function : Hyperbola
167 //=======================================================================
169 inline gp_Hypr Extrema_CurveTool::Hyperbola(const Adaptor3d_Curve& C)
171 return C.Hyperbola();
174 //=======================================================================
175 //function : Parabola
177 //=======================================================================
179 inline gp_Parab Extrema_CurveTool::Parabola(const Adaptor3d_Curve& C)
183 //=======================================================================
186 //=======================================================================
188 inline Standard_Integer Extrema_CurveTool::NbPoles(const Adaptor3d_Curve& C)
193 //=======================================================================
196 //=======================================================================
198 inline Standard_Integer Extrema_CurveTool::Degree(const Adaptor3d_Curve& C)
203 //=======================================================================
204 //function : IsRational
206 //=======================================================================
208 inline Standard_Boolean Extrema_CurveTool::IsRational(const Adaptor3d_Curve& C)
210 return C.IsRational();
213 //=======================================================================
216 //=======================================================================
218 inline Standard_Integer Extrema_CurveTool::NbKnots(const Adaptor3d_Curve& C)
224 //=======================================================================
227 //=======================================================================
229 inline Handle(Geom_BezierCurve) Extrema_CurveTool::Bezier(const Adaptor3d_Curve& C)
234 //=======================================================================
237 //=======================================================================
239 inline Handle(Geom_BSplineCurve) Extrema_CurveTool::BSpline(const Adaptor3d_Curve& C)
244 //=======================================================================
245 //function : Resolution
247 //=======================================================================
249 inline Standard_Real Extrema_CurveTool::Resolution(const Adaptor3d_Curve& C,
250 const Standard_Real R3d)
252 return C.Resolution(R3d);