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