1 // Created on: 1993-07-01
2 // Created by: Bruno DUMORTIER
3 // Copyright (c) 1993-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
6 // This file is part of Open CASCADE Technology software library.
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License 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.
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
18 #include <Adaptor2d_Curve2d.hxx>
19 #include <Adaptor2d_HCurve2d.hxx>
20 #include <Geom2d_BezierCurve.hxx>
21 #include <Geom2d_BSplineCurve.hxx>
22 #include <gp_Circ2d.hxx>
23 #include <gp_Elips2d.hxx>
24 #include <gp_Hypr2d.hxx>
25 #include <gp_Lin2d.hxx>
26 #include <gp_Parab2d.hxx>
27 #include <gp_Pnt2d.hxx>
28 #include <gp_Vec2d.hxx>
29 #include <Standard_DomainError.hxx>
30 #include <Standard_NoSuchObject.hxx>
31 #include <Standard_NotImplemented.hxx>
32 #include <Standard_OutOfRange.hxx>
34 //=======================================================================
35 //function : ~Adaptor2d_Curve2d
36 //purpose : Destructor
37 //=======================================================================
38 Adaptor2d_Curve2d::~Adaptor2d_Curve2d()
42 //=======================================================================
43 //function : FirstParameter
45 //=======================================================================
47 Standard_Real Adaptor2d_Curve2d::FirstParameter() const
49 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::FirstParameter");
54 //=======================================================================
55 //function : LastParameter
57 //=======================================================================
59 Standard_Real Adaptor2d_Curve2d::LastParameter() const
61 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::LastParameter");
66 //=======================================================================
67 //function : Continuity
69 //=======================================================================
71 GeomAbs_Shape Adaptor2d_Curve2d::Continuity() const
73 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::Continuity");
78 //=======================================================================
79 //function : NbIntervals
81 //=======================================================================
83 //Standard_Integer Adaptor2d_Curve2d::NbIntervals(const GeomAbs_Shape S) const
84 Standard_Integer Adaptor2d_Curve2d::NbIntervals(const GeomAbs_Shape ) const
86 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::NbIntervals");
91 //=======================================================================
92 //function : Intervals
94 //=======================================================================
96 //void Adaptor2d_Curve2d::Intervals(TColStd_Array1OfReal& T,
97 // const GeomAbs_Shape S) const
98 void Adaptor2d_Curve2d::Intervals(TColStd_Array1OfReal& ,
99 const GeomAbs_Shape ) const
101 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::Intervals");
105 //=======================================================================
108 //=======================================================================
110 //Handle(Adaptor2d_HCurve2d) Adaptor2d_Curve2d::Trim(const Standard_Real First,
111 // const Standard_Real Last ,
112 // const Standard_Real Tol) const
113 Handle(Adaptor2d_HCurve2d) Adaptor2d_Curve2d::Trim(const Standard_Real ,
114 const Standard_Real ,
115 const Standard_Real ) const
117 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::Trim");
118 return Handle(Adaptor2d_HCurve2d)();
121 //=======================================================================
122 //function : IsClosed
124 //=======================================================================
126 Standard_Boolean Adaptor2d_Curve2d::IsClosed() const
128 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::IsClosed");
133 //=======================================================================
134 //function : IsPeriodic
136 //=======================================================================
138 Standard_Boolean Adaptor2d_Curve2d::IsPeriodic() const
140 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::IsPeriodic");
145 //=======================================================================
148 //=======================================================================
150 Standard_Real Adaptor2d_Curve2d::Period() const
152 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::Period");
157 //=======================================================================
160 //=======================================================================
162 //gp_Pnt2d Adaptor2d_Curve2d::Value(const Standard_Real U) const
163 gp_Pnt2d Adaptor2d_Curve2d::Value(const Standard_Real ) const
165 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::Value");
170 //=======================================================================
173 //=======================================================================
175 //void Adaptor2d_Curve2d::D0(const Standard_Real U, gp_Pnt2d& P) const
176 void Adaptor2d_Curve2d::D0(const Standard_Real , gp_Pnt2d& ) const
178 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::D0");
182 //=======================================================================
185 //=======================================================================
187 //void Adaptor2d_Curve2d::D1(const Standard_Real U,
188 // gp_Pnt2d& P, gp_Vec2d& V) const
189 void Adaptor2d_Curve2d::D1(const Standard_Real ,
190 gp_Pnt2d& , gp_Vec2d& ) const
192 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::D1");
196 //=======================================================================
199 //=======================================================================
201 //void Adaptor2d_Curve2d::D2(const Standard_Real U,
202 // gp_Pnt2d& P, gp_Vec2d& V1, gp_Vec2d& V2) const
203 void Adaptor2d_Curve2d::D2(const Standard_Real ,
204 gp_Pnt2d& , gp_Vec2d& , gp_Vec2d& ) const
206 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::D2");
210 //=======================================================================
213 //=======================================================================
215 //void Adaptor2d_Curve2d::D3(const Standard_Real U,
216 // gp_Pnt2d& P, gp_Vec2d& V1, gp_Vec2d& V2, gp_Vec2d& V3)
217 void Adaptor2d_Curve2d::D3(const Standard_Real ,
218 gp_Pnt2d& , gp_Vec2d& , gp_Vec2d& , gp_Vec2d& ) const
220 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::D3");
224 //=======================================================================
227 //=======================================================================
229 //gp_Vec2d Adaptor2d_Curve2d::DN(const Standard_Real U,
230 // const Standard_Integer N) const
231 gp_Vec2d Adaptor2d_Curve2d::DN(const Standard_Real ,
232 const Standard_Integer ) const
234 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::DN");
239 //=======================================================================
240 //function : Resolution
242 //=======================================================================
244 //Standard_Real Adaptor2d_Curve2d::Resolution(const Standard_Real R3d) const
245 Standard_Real Adaptor2d_Curve2d::Resolution(const Standard_Real ) const
247 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::Resolution");
252 //=======================================================================
255 //=======================================================================
257 GeomAbs_CurveType Adaptor2d_Curve2d::GetType() const
259 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::GetType");
260 return GeomAbs_OtherCurve;
264 //=======================================================================
267 //=======================================================================
269 gp_Lin2d Adaptor2d_Curve2d::Line() const
271 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::Line");
276 //=======================================================================
279 //=======================================================================
281 gp_Circ2d Adaptor2d_Curve2d::Circle() const
283 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::Circle");
288 //=======================================================================
291 //=======================================================================
293 gp_Elips2d Adaptor2d_Curve2d::Ellipse() const
295 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::Ellipse");
300 //=======================================================================
301 //function : Hyperbola
303 //=======================================================================
305 gp_Hypr2d Adaptor2d_Curve2d::Hyperbola() const
307 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::Hyperbola");
312 //=======================================================================
313 //function : Parabola
315 //=======================================================================
317 gp_Parab2d Adaptor2d_Curve2d::Parabola() const
319 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::Parabola");
324 //=======================================================================
327 //=======================================================================
329 Standard_Integer Adaptor2d_Curve2d::Degree() const
331 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::Degree");
336 //=======================================================================
337 //function : IsRational
339 //=======================================================================
341 Standard_Boolean Adaptor2d_Curve2d::IsRational() const
343 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::IsRational");
348 //=======================================================================
351 //=======================================================================
353 Standard_Integer Adaptor2d_Curve2d::NbPoles() const
355 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::NbPole");
360 //=======================================================================
363 //=======================================================================
365 Standard_Integer Adaptor2d_Curve2d::NbKnots() const
367 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::NbKnots");
372 //=======================================================================
375 //=======================================================================
377 Handle(Geom2d_BezierCurve) Adaptor2d_Curve2d::Bezier() const
379 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::Bezier");
380 return Handle(Geom2d_BezierCurve)();
384 //=======================================================================
387 //=======================================================================
389 Handle(Geom2d_BSplineCurve) Adaptor2d_Curve2d::BSpline() const
391 Standard_NotImplemented::Raise("Adaptor2d_Curve2d::BSpline");
392 return Handle(Geom2d_BSplineCurve)();
395 //=======================================================================
396 //function : NbSamples
398 //=======================================================================
399 Standard_Integer Adaptor2d_Curve2d::NbSamples() const