Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
Geom2dAPI_PointsToBSpline Class Reference

This class is used to approximate a BsplineCurve
passing through an array of points, with a given
Continuity.
Describes functions for building a 2D BSpline
curve which approximates a set of points.
A PointsToBSpline object provides a framework for:
More...

#include <Geom2dAPI_PointsToBSpline.hxx>

Public Member Functions

DEFINE_STANDARD_ALLOC Geom2dAPI_PointsToBSpline ()
 Constructs an empty approximation algorithm.
Use an Init function to define and build the BSpline curve.

 Geom2dAPI_PointsToBSpline (const TColgp_Array1OfPnt2d &Points, const Standard_Integer DegMin=3, const Standard_Integer DegMax=8, const GeomAbs_Shape Continuity=GeomAbs_C2, const Standard_Real Tol2D=1.0e-6)
 Approximate a BSpline Curve passing through an
array of Point. The resulting BSpline will have
the following properties:
1- his degree will be in the range [Degmin,Degmax]
2- his continuity will be at least <Continuity>
3- the distance from the point <Points> to the
BSpline will be lower to Tol2D

 Geom2dAPI_PointsToBSpline (const TColStd_Array1OfReal &YValues, const Standard_Real X0, const Standard_Real DX, const Standard_Integer DegMin=3, const Standard_Integer DegMax=8, const GeomAbs_Shape Continuity=GeomAbs_C2, const Standard_Real Tol2D=1.0e-6)
 Approximate a BSpline Curve passing through an
array of Point. Of coordinates :

X = X0 + DX * (i-YValues.Lower())
Y = YValues(i)

With i in the range YValues.Lower(), YValues.Upper()

The BSpline will be parametrized from t = X0 to
X0 + DX * (YValues.Upper() - YValues.Lower())

And will satisfy X(t) = t

The resulting BSpline will have
the following properties:
1- his degree will be in the range [Degmin,Degmax]
2- his continuity will be at least <Continuity>
3- the distance from the point <Points> to the
BSpline will be lower to Tol2D

 Geom2dAPI_PointsToBSpline (const TColgp_Array1OfPnt2d &Points, const Approx_ParametrizationType ParType, const Standard_Integer DegMin=3, const Standard_Integer DegMax=8, const GeomAbs_Shape Continuity=GeomAbs_C2, const Standard_Real Tol2D=1.0e-3)
 Approximate a BSpline Curve passing through an
array of Point. The resulting BSpline will have
the following properties:
1- his degree will be in the range [Degmin,Degmax]
2- his continuity will be at least <Continuity>
3- the distance from the point <Points> to the
BSpline will be lower to Tol2D

 Geom2dAPI_PointsToBSpline (const TColgp_Array1OfPnt2d &Points, const TColStd_Array1OfReal &Parameters, const Standard_Integer DegMin=3, const Standard_Integer DegMax=8, const GeomAbs_Shape Continuity=GeomAbs_C2, const Standard_Real Tol2D=1.0e-3)
 Approximate a BSpline Curve passing through an
array of Point, which parameters are given by the
array <Parameters>.
The resulting BSpline will have the following
properties:
1- his degree will be in the range [Degmin,Degmax]
2- his continuity will be at least <Continuity>
3- the distance from the point <Points> to the
BSpline will be lower to Tol2D

 Geom2dAPI_PointsToBSpline (const TColgp_Array1OfPnt2d &Points, const Standard_Real Weight1, const Standard_Real Weight2, const Standard_Real Weight3, const Standard_Integer DegMax=8, const GeomAbs_Shape Continuity=GeomAbs_C2, const Standard_Real Tol3D=1.0e-3)
 Approximate a BSpline Curve passing through an
array of Point using variational smoothing algorithm,
which tries to minimize additional criterium:
Weight1*CurveLength + Weight2*Curvature + Weight3*Torsion

void Init (const TColgp_Array1OfPnt2d &Points, const Standard_Integer DegMin=3, const Standard_Integer DegMax=8, const GeomAbs_Shape Continuity=GeomAbs_C2, const Standard_Real Tol2D=1.0e-6)
 Approximate a BSpline Curve passing through an
array of Point. The resulting BSpline will have
the following properties:
1- his degree will be in the range [Degmin,Degmax]
2- his continuity will be at least <Continuity>
3- the distance from the point <Points> to the
BSpline will be lower to Tol2D

void Init (const TColStd_Array1OfReal &YValues, const Standard_Real X0, const Standard_Real DX, const Standard_Integer DegMin=3, const Standard_Integer DegMax=8, const GeomAbs_Shape Continuity=GeomAbs_C2, const Standard_Real Tol2D=1.0e-6)
 Approximate a BSpline Curve passing through an
array of Point. Of coordinates :

X = X0 + DX * (i-YValues.Lower())
Y = YValues(i)

With i in the range YValues.Lower(), YValues.Upper()

The BSpline will be parametrized from t = X0 to
X0 + DX * (YValues.Upper() - YValues.Lower())

And will satisfy X(t) = t

The resulting BSpline will have
the following properties:
1- his degree will be in the range [Degmin,Degmax]
2- his continuity will be at least <Continuity>
3- the distance from the point <Points> to the
BSpline will be lower to Tol2D

void Init (const TColgp_Array1OfPnt2d &Points, const Approx_ParametrizationType ParType, const Standard_Integer DegMin=3, const Standard_Integer DegMax=8, const GeomAbs_Shape Continuity=GeomAbs_C2, const Standard_Real Tol2D=1.0e-3)
 Approximate a BSpline Curve passing through an
array of Point. The resulting BSpline will have
the following properties:
1- his degree will be in the range [Degmin,Degmax]
2- his continuity will be at least <Continuity>
3- the distance from the point <Points> to the
BSpline will be lower to Tol2D

void Init (const TColgp_Array1OfPnt2d &Points, const TColStd_Array1OfReal &Parameters, const Standard_Integer DegMin=3, const Standard_Integer DegMax=8, const GeomAbs_Shape Continuity=GeomAbs_C2, const Standard_Real Tol2D=1.0e-3)
 Approximate a BSpline Curve passing through an
array of Point, which parameters are given by the
array <Parameters>.
The resulting BSpline will have the following
properties:
1- his degree will be in the range [Degmin,Degmax]
2- his continuity will be at least <Continuity>
3- the distance from the point <Points> to the
BSpline will be lower to Tol2D

void Init (const TColgp_Array1OfPnt2d &Points, const Standard_Real Weight1, const Standard_Real Weight2, const Standard_Real Weight3, const Standard_Integer DegMax=8, const GeomAbs_Shape Continuity=GeomAbs_C2, const Standard_Real Tol2D=1.0e-3)
 Approximate a BSpline Curve passing through an
array of Point using variational smoothing algorithm,
which tries to minimize additional criterium:
Weight1*CurveLength + Weight2*Curvature + Weight3*Torsion

const Handle_Geom2d_BSplineCurve & Curve () const
 Returns the approximate BSpline Curve

 operator Handle< Geom2d_BSplineCurve > () const
Standard_Boolean IsDone () const

Detailed Description


Constructor & Destructor Documentation


Member Function Documentation

const Handle_Geom2d_BSplineCurve& Geom2dAPI_PointsToBSpline::Curve ( ) const
Geom2dAPI_PointsToBSpline::operator Handle< Geom2d_BSplineCurve > ( ) const

The documentation for this class was generated from the following file: