Open CASCADE Technology  7.2.0
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

 Geom2dAPI_PointsToBSpline ()
 Constructs an empty approximation algorithm. Use an Init function to define and build the BSpline curve. More...
 
 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. More...
 
 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 : More...
 
 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. More...
 
 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. More...
 
 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. More...
 
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. More...
 
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 : More...
 
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. More...
 
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. More...
 
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. More...
 
const Handle< Geom2d_BSplineCurve > & Curve () const
 Returns the approximate BSpline Curve. More...
 
 operator Handle< Geom2d_BSplineCurve > () const
 
Standard_Boolean IsDone () const
 

Detailed Description

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:

Constructor & Destructor Documentation

◆ Geom2dAPI_PointsToBSpline() [1/6]

Geom2dAPI_PointsToBSpline::Geom2dAPI_PointsToBSpline ( )

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

◆ Geom2dAPI_PointsToBSpline() [2/6]

Geom2dAPI_PointsToBSpline::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() [3/6]

Geom2dAPI_PointsToBSpline::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() [4/6]

Geom2dAPI_PointsToBSpline::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() [5/6]

Geom2dAPI_PointsToBSpline::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() [6/6]

Geom2dAPI_PointsToBSpline::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.

Member Function Documentation

◆ Curve()

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

Returns the approximate BSpline Curve.

◆ Init() [1/5]

void Geom2dAPI_PointsToBSpline::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.

◆ Init() [2/5]

void Geom2dAPI_PointsToBSpline::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

◆ Init() [3/5]

void Geom2dAPI_PointsToBSpline::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.

◆ Init() [4/5]

void Geom2dAPI_PointsToBSpline::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.

◆ Init() [5/5]

void Geom2dAPI_PointsToBSpline::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.

◆ IsDone()

Standard_Boolean Geom2dAPI_PointsToBSpline::IsDone ( ) const

◆ operator Handle< Geom2d_BSplineCurve >()

Geom2dAPI_PointsToBSpline::operator Handle< Geom2d_BSplineCurve > ( ) const

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