Root class for 2D curves on which geometric algorithms work. An adapted curve is an interface between the services provided by a curve, and those required of the curve by algorithms, which use it. A derived concrete class is provided: Geom2dAdaptor_Curve for a curve from the Geom2d package. More...

`#include <Adaptor2d_Curve2d.hxx>`

[legend]

## Public Member Functions

virtual Standard_Real FirstParameter () const

virtual Standard_Real LastParameter () const

virtual GeomAbs_Shape Continuity () const

virtual Standard_Integer NbIntervals (const GeomAbs_Shape S) const
If necessary, breaks the curve in intervals of continuity <S>. And returns the number of intervals. More...

virtual void Intervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const
Stores in <T> the parameters bounding the intervals of continuity <S>. More...

virtual Handle< Adaptor2d_HCurve2dTrim (const Standard_Real First, const Standard_Real Last, const Standard_Real Tol) const
Returns a curve equivalent of <me> between parameters <First> and <Last>. <Tol> is used to test for 3d points confusion. If <First> >= <Last> More...

virtual Standard_Boolean IsClosed () const

virtual Standard_Boolean IsPeriodic () const

virtual Standard_Real Period () const

virtual gp_Pnt2d Value (const Standard_Real U) const
Computes the point of parameter U on the curve. More...

virtual void D0 (const Standard_Real U, gp_Pnt2d &P) const
Computes the point of parameter U on the curve. More...

virtual void D1 (const Standard_Real U, gp_Pnt2d &P, gp_Vec2d &V) const
Computes the point of parameter U on the curve with its first derivative. Raised if the continuity of the current interval is not C1. More...

virtual void D2 (const Standard_Real U, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2) const
Returns the point P of parameter U, the first and second derivatives V1 and V2. Raised if the continuity of the current interval is not C2. More...

virtual void D3 (const Standard_Real U, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2, gp_Vec2d &V3) const
Returns the point P of parameter U, the first, the second and the third derivative. Raised if the continuity of the current interval is not C3. More...

virtual gp_Vec2d DN (const Standard_Real U, const Standard_Integer N) const
The returned vector gives the value of the derivative for the order of derivation N. Raised if the continuity of the current interval is not CN. Raised if N < 1. More...

virtual Standard_Real Resolution (const Standard_Real R3d) const
Returns the parametric resolution corresponding to the real space resolution <R3d>. More...

virtual GeomAbs_CurveType GetType () const
Returns the type of the curve in the current interval : Line, Circle, Ellipse, Hyperbola, Parabola, BezierCurve, BSplineCurve, OtherCurve. More...

virtual gp_Lin2d Line () const

virtual gp_Circ2d Circle () const

virtual gp_Elips2d Ellipse () const

virtual gp_Hypr2d Hyperbola () const

virtual gp_Parab2d Parabola () const

virtual Standard_Integer Degree () const

virtual Standard_Boolean IsRational () const

virtual Standard_Integer NbPoles () const

virtual Standard_Integer NbKnots () const

virtual Standard_Integer NbSamples () const

virtual Handle< Geom2d_BezierCurveBezier () const

virtual Handle< Geom2d_BSplineCurveBSpline () const

## Detailed Description

Root class for 2D curves on which geometric algorithms work. An adapted curve is an interface between the services provided by a curve, and those required of the curve by algorithms, which use it. A derived concrete class is provided: Geom2dAdaptor_Curve for a curve from the Geom2d package.

Polynomial coefficients of BSpline curves used for their evaluation are cached for better performance. Therefore these evaluations are not thread-safe and parallel evaluations need to be prevented.

virtual

## Member Function Documentation

 virtual Handle< Geom2d_BezierCurve > Adaptor2d_Curve2d::Bezier ( ) const
virtual
 virtual Handle< Geom2d_BSplineCurve > Adaptor2d_Curve2d::BSpline ( ) const
virtual
 virtual gp_Circ2d Adaptor2d_Curve2d::Circle ( ) const
virtual
 virtual GeomAbs_Shape Adaptor2d_Curve2d::Continuity ( ) const
virtual
 virtual void Adaptor2d_Curve2d::D0 ( const Standard_Real U, gp_Pnt2d & P ) const
virtual

Computes the point of parameter U on the curve.

 virtual void Adaptor2d_Curve2d::D1 ( const Standard_Real U, gp_Pnt2d & P, gp_Vec2d & V ) const
virtual

Computes the point of parameter U on the curve with its first derivative. Raised if the continuity of the current interval is not C1.

 virtual void Adaptor2d_Curve2d::D2 ( const Standard_Real U, gp_Pnt2d & P, gp_Vec2d & V1, gp_Vec2d & V2 ) const
virtual

Returns the point P of parameter U, the first and second derivatives V1 and V2. Raised if the continuity of the current interval is not C2.

 virtual void Adaptor2d_Curve2d::D3 ( const Standard_Real U, gp_Pnt2d & P, gp_Vec2d & V1, gp_Vec2d & V2, gp_Vec2d & V3 ) const
virtual

Returns the point P of parameter U, the first, the second and the third derivative. Raised if the continuity of the current interval is not C3.

 virtual Standard_Integer Adaptor2d_Curve2d::Degree ( ) const
virtual
 virtual gp_Vec2d Adaptor2d_Curve2d::DN ( const Standard_Real U, const Standard_Integer N ) const
virtual

The returned vector gives the value of the derivative for the order of derivation N. Raised if the continuity of the current interval is not CN. Raised if N < 1.

 virtual gp_Elips2d Adaptor2d_Curve2d::Ellipse ( ) const
virtual
 virtual Standard_Real Adaptor2d_Curve2d::FirstParameter ( ) const
virtual
 virtual GeomAbs_CurveType Adaptor2d_Curve2d::GetType ( ) const
virtual

Returns the type of the curve in the current interval : Line, Circle, Ellipse, Hyperbola, Parabola, BezierCurve, BSplineCurve, OtherCurve.

 virtual gp_Hypr2d Adaptor2d_Curve2d::Hyperbola ( ) const
virtual
 virtual void Adaptor2d_Curve2d::Intervals ( TColStd_Array1OfReal & T, const GeomAbs_Shape S ) const
virtual

Stores in <T> the parameters bounding the intervals of continuity <S>.

The array must provide enough room to accomodate for the parameters. i.e. T.Length() > NbIntervals()

 virtual Standard_Boolean Adaptor2d_Curve2d::IsClosed ( ) const
virtual
 virtual Standard_Boolean Adaptor2d_Curve2d::IsPeriodic ( ) const
virtual
 virtual Standard_Boolean Adaptor2d_Curve2d::IsRational ( ) const
virtual
 virtual Standard_Real Adaptor2d_Curve2d::LastParameter ( ) const
virtual
 virtual gp_Lin2d Adaptor2d_Curve2d::Line ( ) const
virtual
 virtual Standard_Integer Adaptor2d_Curve2d::NbIntervals ( const GeomAbs_Shape S ) const
virtual

If necessary, breaks the curve in intervals of continuity <S>. And returns the number of intervals.

 virtual Standard_Integer Adaptor2d_Curve2d::NbKnots ( ) const
virtual
 virtual Standard_Integer Adaptor2d_Curve2d::NbPoles ( ) const
virtual
 virtual Standard_Integer Adaptor2d_Curve2d::NbSamples ( ) const
virtual

 virtual gp_Parab2d Adaptor2d_Curve2d::Parabola ( ) const
virtual
 virtual Standard_Real Adaptor2d_Curve2d::Period ( ) const
virtual
 virtual Standard_Real Adaptor2d_Curve2d::Resolution ( const Standard_Real R3d ) const
virtual

Returns the parametric resolution corresponding to the real space resolution <R3d>.