Open CASCADE Technology
7.3.0
|
This class provides an interface between the services provided by any curve from the package Geom and those required of the curve by algorithms which use it. Creation of the loaded curve the curve is C1 by piece. More...
#include <GeomAdaptor_Curve.hxx>
Public Member Functions | |
GeomAdaptor_Curve () | |
GeomAdaptor_Curve (const Handle< Geom_Curve > &C) | |
GeomAdaptor_Curve (const Handle< Geom_Curve > &C, const Standard_Real UFirst, const Standard_Real ULast) | |
ConstructionError is raised if Ufirst>Ulast. More... | |
void | Load (const Handle< Geom_Curve > &C) |
void | Load (const Handle< Geom_Curve > &C, const Standard_Real UFirst, const Standard_Real ULast) |
ConstructionError is raised if Ufirst>Ulast. More... | |
const Handle< Geom_Curve > & | Curve () const |
Provides a curve inherited from Hcurve from Adaptor. This is inherited to provide easy to use constructors. More... | |
Standard_Real | FirstParameter () const override |
Standard_Real | LastParameter () const override |
GeomAbs_Shape | Continuity () const override |
Standard_Integer | NbIntervals (const GeomAbs_Shape S) const override |
Returns the number of intervals for continuity <S>. May be one if Continuity(me) >= <S> More... | |
void | Intervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const override |
Stores in <T> the parameters bounding the intervals of continuity <S>. More... | |
Handle< Adaptor3d_HCurve > | Trim (const Standard_Real First, const Standard_Real Last, const Standard_Real Tol) const override |
Returns a curve equivalent of <me> between parameters <First> and <Last>. <Tol> is used to test for 3d points confusion. If <First> >= <Last> More... | |
Standard_Boolean | IsClosed () const override |
Standard_Boolean | IsPeriodic () const override |
Standard_Real | Period () const override |
gp_Pnt | Value (const Standard_Real U) const override |
Computes the point of parameter U on the curve. More... | |
void | D0 (const Standard_Real U, gp_Pnt &P) const override |
Computes the point of parameter U. More... | |
void | D1 (const Standard_Real U, gp_Pnt &P, gp_Vec &V) const override |
Computes the point of parameter U on the curve with its first derivative. More... | |
void | D2 (const Standard_Real U, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2) const override |
Returns the point P of parameter U, the first and second derivatives V1 and V2. More... | |
void | D3 (const Standard_Real U, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2, gp_Vec &V3) const override |
Returns the point P of parameter U, the first, the second and the third derivative. More... | |
gp_Vec | DN (const Standard_Real U, const Standard_Integer N) const override |
The returned vector gives the value of the derivative for the order of derivation N. Warning : On the specific case of BSplineCurve: if the curve is cut in interval of continuity CN, the derivatives are computed on the current interval. else the derivatives are computed on the basis curve. Raised if N < 1. More... | |
Standard_Real | Resolution (const Standard_Real R3d) const override |
returns the parametric resolution More... | |
GeomAbs_CurveType | GetType () const override |
Returns the type of the curve in the current interval : Line, Circle, Ellipse, Hyperbola, Parabola, BezierCurve, BSplineCurve, OtherCurve. More... | |
gp_Lin | Line () const override |
gp_Circ | Circle () const override |
gp_Elips | Ellipse () const override |
gp_Hypr | Hyperbola () const override |
gp_Parab | Parabola () const override |
Standard_Integer | Degree () const override |
this should NEVER make a copy of the underlying curve to read the relevant information More... | |
Standard_Boolean | IsRational () const override |
this should NEVER make a copy of the underlying curve to read the relevant information More... | |
Standard_Integer | NbPoles () const override |
this should NEVER make a copy of the underlying curve to read the relevant information More... | |
Standard_Integer | NbKnots () const override |
this should NEVER make a copy of the underlying curve to read the relevant information More... | |
Handle< Geom_BezierCurve > | Bezier () const override |
this will NOT make a copy of the Bezier Curve : If you want to modify the Curve please make a copy yourself Also it will NOT trim the surface to myFirst/Last. More... | |
Handle< Geom_BSplineCurve > | BSpline () const override |
this will NOT make a copy of the BSpline Curve : If you want to modify the Curve please make a copy yourself Also it will NOT trim the surface to myFirst/Last. More... | |
Handle< Geom_OffsetCurve > | OffsetCurve () const override |
Public Member Functions inherited from Adaptor3d_Curve | |
virtual | ~Adaptor3d_Curve () |
This class provides an interface between the services provided by any curve from the package Geom and those required of the curve by algorithms which use it. Creation of the loaded curve the curve is C1 by piece.
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.
GeomAdaptor_Curve::GeomAdaptor_Curve | ( | ) |
GeomAdaptor_Curve::GeomAdaptor_Curve | ( | const Handle< Geom_Curve > & | C | ) |
GeomAdaptor_Curve::GeomAdaptor_Curve | ( | const Handle< Geom_Curve > & | C, |
const Standard_Real | UFirst, | ||
const Standard_Real | ULast | ||
) |
ConstructionError is raised if Ufirst>Ulast.
|
overridevirtual |
this will NOT make a copy of the Bezier Curve : If you want to modify the Curve please make a copy yourself Also it will NOT trim the surface to myFirst/Last.
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
this will NOT make a copy of the BSpline Curve : If you want to modify the Curve please make a copy yourself Also it will NOT trim the surface to myFirst/Last.
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Reimplemented from Adaptor3d_Curve.
const Handle< Geom_Curve >& GeomAdaptor_Curve::Curve | ( | ) | const |
Provides a curve inherited from Hcurve from Adaptor. This is inherited to provide easy to use constructors.
|
overridevirtual |
Computes the point of parameter U.
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Computes the point of parameter U on the curve with its first derivative.
Warning : On the specific case of BSplineCurve: if the curve is cut in interval of continuity at least C1, the derivatives are computed on the current interval. else the derivatives are computed on the basis curve.
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Returns the point P of parameter U, the first and second derivatives V1 and V2.
Warning : On the specific case of BSplineCurve: if the curve is cut in interval of continuity at least C2, the derivatives are computed on the current interval. else the derivatives are computed on the basis curve.
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Returns the point P of parameter U, the first, the second and the third derivative.
Warning : On the specific case of BSplineCurve: if the curve is cut in interval of continuity at least C3, the derivatives are computed on the current interval. else the derivatives are computed on the basis curve.
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
this should NEVER make a copy of the underlying curve to read the relevant information
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
The returned vector gives the value of the derivative for the order of derivation N. Warning : On the specific case of BSplineCurve: if the curve is cut in interval of continuity CN, the derivatives are computed on the current interval. else the derivatives are computed on the basis curve. Raised if N < 1.
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Returns the type of the curve in the current interval : Line, Circle, Ellipse, Hyperbola, Parabola, BezierCurve, BSplineCurve, OtherCurve.
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
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()
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
this should NEVER make a copy of the underlying curve to read the relevant information
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Reimplemented from Adaptor3d_Curve.
void GeomAdaptor_Curve::Load | ( | const Handle< Geom_Curve > & | C | ) |
void GeomAdaptor_Curve::Load | ( | const Handle< Geom_Curve > & | C, |
const Standard_Real | UFirst, | ||
const Standard_Real | ULast | ||
) |
ConstructionError is raised if Ufirst>Ulast.
|
overridevirtual |
Returns the number of intervals for continuity <S>. May be one if Continuity(me) >= <S>
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
this should NEVER make a copy of the underlying curve to read the relevant information
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
this should NEVER make a copy of the underlying curve to read the relevant information
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
returns the parametric resolution
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Returns a curve equivalent of <me> between parameters <First> and <Last>. <Tol> is used to test for 3d points confusion. If <First> >= <Last>
Reimplemented from Adaptor3d_Curve.
|
overridevirtual |
Computes the point of parameter U on the curve.
Reimplemented from Adaptor3d_Curve.