Open CASCADE Technology
7.7.0
|
#include <AppDef_BSplineCompute.hxx>
Public Member Functions | |
AppDef_BSplineCompute (const AppDef_MultiLine &Line, const Standard_Integer degreemin=4, const Standard_Integer degreemax=8, const Standard_Real Tolerance3d=1.0e-3, const Standard_Real Tolerance2d=1.0e-6, const Standard_Integer NbIterations=5, const Standard_Boolean cutting=Standard_True, const Approx_ParametrizationType parametrization=Approx_ChordLength, const Standard_Boolean Squares=Standard_False) | |
The MultiLine <Line> will be approximated until tolerances will be reached. The approximation will be done from degreemin to degreemax with a cutting if the corresponding boolean is True. If <Squares> is True, the computation will be done with no iteration at all. More... | |
AppDef_BSplineCompute (const AppDef_MultiLine &Line, const math_Vector &Parameters, const Standard_Integer degreemin=4, const Standard_Integer degreemax=8, const Standard_Real Tolerance3d=1.0e-03, const Standard_Real Tolerance2d=1.0e-06, const Standard_Integer NbIterations=5, const Standard_Boolean cutting=Standard_True, const Standard_Boolean Squares=Standard_False) | |
The MultiLine <Line> will be approximated until tolerances will be reached. The approximation will be done from degreemin to degreemax with a cutting if the corresponding boolean is True. If <Squares> is True, the computation will be done with no iteration at all. More... | |
AppDef_BSplineCompute (const math_Vector &Parameters, const Standard_Integer degreemin=4, const Standard_Integer degreemax=8, const Standard_Real Tolerance3d=1.0e-03, const Standard_Real Tolerance2d=1.0e-06, const Standard_Integer NbIterations=5, const Standard_Boolean cutting=Standard_True, const Standard_Boolean Squares=Standard_False) | |
Initializes the fields of the algorithm. More... | |
AppDef_BSplineCompute (const Standard_Integer degreemin=4, const Standard_Integer degreemax=8, const Standard_Real Tolerance3d=1.0e-03, const Standard_Real Tolerance2d=1.0e-06, const Standard_Integer NbIterations=5, const Standard_Boolean cutting=Standard_True, const Approx_ParametrizationType parametrization=Approx_ChordLength, const Standard_Boolean Squares=Standard_False) | |
Initializes the fields of the algorithm. More... | |
void | Interpol (const AppDef_MultiLine &Line) |
Constructs an interpolation of the MultiLine <Line> The result will be a C2 curve of degree 3. More... | |
void | Init (const Standard_Integer degreemin=4, const Standard_Integer degreemax=8, const Standard_Real Tolerance3d=1.0e-03, const Standard_Real Tolerance2d=1.0e-06, const Standard_Integer NbIterations=5, const Standard_Boolean cutting=Standard_True, const Approx_ParametrizationType parametrization=Approx_ChordLength, const Standard_Boolean Squares=Standard_False) |
Initializes the fields of the algorithm. More... | |
void | Perform (const AppDef_MultiLine &Line) |
runs the algorithm after having initialized the fields. More... | |
void | SetParameters (const math_Vector &ThePar) |
The approximation will begin with the set of parameters <ThePar>. More... | |
void | SetKnots (const TColStd_Array1OfReal &Knots) |
The approximation will be done with the set of knots <Knots>. The multiplicities will be set with the degree and the desired continuity. More... | |
void | SetKnotsAndMultiplicities (const TColStd_Array1OfReal &Knots, const TColStd_Array1OfInteger &Mults) |
The approximation will be done with the set of knots <Knots> and the multiplicities <Mults>. More... | |
void | SetDegrees (const Standard_Integer degreemin, const Standard_Integer degreemax) |
changes the degrees of the approximation. More... | |
void | SetTolerances (const Standard_Real Tolerance3d, const Standard_Real Tolerance2d) |
Changes the tolerances of the approximation. More... | |
void | SetContinuity (const Standard_Integer C) |
sets the continuity of the spline. if C = 2, the spline will be C2. More... | |
void | SetConstraints (const AppParCurves_Constraint firstC, const AppParCurves_Constraint lastC) |
changes the first and the last constraint points. More... | |
void | SetPeriodic (const Standard_Boolean thePeriodic) |
Sets periodic flag. If thePeriodic = Standard_True, algorithm tries to build periodic multicurve using corresponding C1 boundary condition for first and last multipoints. Multiline must be closed. More... | |
Standard_Boolean | IsAllApproximated () const |
returns False if at a moment of the approximation, the status NoApproximation has been sent by the user when more points were needed. More... | |
Standard_Boolean | IsToleranceReached () const |
returns False if the status NoPointsAdded has been sent. More... | |
void | Error (Standard_Real &tol3d, Standard_Real &tol2d) const |
returns the tolerances 2d and 3d of the MultiBSpCurve. More... | |
const AppParCurves_MultiBSpCurve & | Value () const |
returns the result of the approximation. More... | |
AppParCurves_MultiBSpCurve & | ChangeValue () |
returns the result of the approximation. More... | |
const TColStd_Array1OfReal & | Parameters () const |
returns the new parameters of the approximation corresponding to the points of the MultiBSpCurve. More... | |
AppDef_BSplineCompute::AppDef_BSplineCompute | ( | const AppDef_MultiLine & | Line, |
const Standard_Integer | degreemin = 4 , |
||
const Standard_Integer | degreemax = 8 , |
||
const Standard_Real | Tolerance3d = 1.0e-3 , |
||
const Standard_Real | Tolerance2d = 1.0e-6 , |
||
const Standard_Integer | NbIterations = 5 , |
||
const Standard_Boolean | cutting = Standard_True , |
||
const Approx_ParametrizationType | parametrization = Approx_ChordLength , |
||
const Standard_Boolean | Squares = Standard_False |
||
) |
The MultiLine <Line> will be approximated until tolerances will be reached. The approximation will be done from degreemin to degreemax with a cutting if the corresponding boolean is True. If <Squares> is True, the computation will be done with no iteration at all.
The multiplicities of the internal knots is set by default.
AppDef_BSplineCompute::AppDef_BSplineCompute | ( | const AppDef_MultiLine & | Line, |
const math_Vector & | Parameters, | ||
const Standard_Integer | degreemin = 4 , |
||
const Standard_Integer | degreemax = 8 , |
||
const Standard_Real | Tolerance3d = 1.0e-03 , |
||
const Standard_Real | Tolerance2d = 1.0e-06 , |
||
const Standard_Integer | NbIterations = 5 , |
||
const Standard_Boolean | cutting = Standard_True , |
||
const Standard_Boolean | Squares = Standard_False |
||
) |
The MultiLine <Line> will be approximated until tolerances will be reached. The approximation will be done from degreemin to degreemax with a cutting if the corresponding boolean is True. If <Squares> is True, the computation will be done with no iteration at all.
AppDef_BSplineCompute::AppDef_BSplineCompute | ( | const math_Vector & | Parameters, |
const Standard_Integer | degreemin = 4 , |
||
const Standard_Integer | degreemax = 8 , |
||
const Standard_Real | Tolerance3d = 1.0e-03 , |
||
const Standard_Real | Tolerance2d = 1.0e-06 , |
||
const Standard_Integer | NbIterations = 5 , |
||
const Standard_Boolean | cutting = Standard_True , |
||
const Standard_Boolean | Squares = Standard_False |
||
) |
Initializes the fields of the algorithm.
AppDef_BSplineCompute::AppDef_BSplineCompute | ( | const Standard_Integer | degreemin = 4 , |
const Standard_Integer | degreemax = 8 , |
||
const Standard_Real | Tolerance3d = 1.0e-03 , |
||
const Standard_Real | Tolerance2d = 1.0e-06 , |
||
const Standard_Integer | NbIterations = 5 , |
||
const Standard_Boolean | cutting = Standard_True , |
||
const Approx_ParametrizationType | parametrization = Approx_ChordLength , |
||
const Standard_Boolean | Squares = Standard_False |
||
) |
Initializes the fields of the algorithm.
AppParCurves_MultiBSpCurve& AppDef_BSplineCompute::ChangeValue | ( | ) |
returns the result of the approximation.
void AppDef_BSplineCompute::Error | ( | Standard_Real & | tol3d, |
Standard_Real & | tol2d | ||
) | const |
returns the tolerances 2d and 3d of the MultiBSpCurve.
void AppDef_BSplineCompute::Init | ( | const Standard_Integer | degreemin = 4 , |
const Standard_Integer | degreemax = 8 , |
||
const Standard_Real | Tolerance3d = 1.0e-03 , |
||
const Standard_Real | Tolerance2d = 1.0e-06 , |
||
const Standard_Integer | NbIterations = 5 , |
||
const Standard_Boolean | cutting = Standard_True , |
||
const Approx_ParametrizationType | parametrization = Approx_ChordLength , |
||
const Standard_Boolean | Squares = Standard_False |
||
) |
Initializes the fields of the algorithm.
void AppDef_BSplineCompute::Interpol | ( | const AppDef_MultiLine & | Line | ) |
Constructs an interpolation of the MultiLine <Line> The result will be a C2 curve of degree 3.
Standard_Boolean AppDef_BSplineCompute::IsAllApproximated | ( | ) | const |
returns False if at a moment of the approximation, the status NoApproximation has been sent by the user when more points were needed.
Standard_Boolean AppDef_BSplineCompute::IsToleranceReached | ( | ) | const |
returns False if the status NoPointsAdded has been sent.
const TColStd_Array1OfReal& AppDef_BSplineCompute::Parameters | ( | ) | const |
returns the new parameters of the approximation corresponding to the points of the MultiBSpCurve.
void AppDef_BSplineCompute::Perform | ( | const AppDef_MultiLine & | Line | ) |
runs the algorithm after having initialized the fields.
void AppDef_BSplineCompute::SetConstraints | ( | const AppParCurves_Constraint | firstC, |
const AppParCurves_Constraint | lastC | ||
) |
changes the first and the last constraint points.
void AppDef_BSplineCompute::SetContinuity | ( | const Standard_Integer | C | ) |
sets the continuity of the spline. if C = 2, the spline will be C2.
void AppDef_BSplineCompute::SetDegrees | ( | const Standard_Integer | degreemin, |
const Standard_Integer | degreemax | ||
) |
changes the degrees of the approximation.
void AppDef_BSplineCompute::SetKnots | ( | const TColStd_Array1OfReal & | Knots | ) |
The approximation will be done with the set of knots <Knots>. The multiplicities will be set with the degree and the desired continuity.
void AppDef_BSplineCompute::SetKnotsAndMultiplicities | ( | const TColStd_Array1OfReal & | Knots, |
const TColStd_Array1OfInteger & | Mults | ||
) |
The approximation will be done with the set of knots <Knots> and the multiplicities <Mults>.
void AppDef_BSplineCompute::SetParameters | ( | const math_Vector & | ThePar | ) |
The approximation will begin with the set of parameters <ThePar>.
void AppDef_BSplineCompute::SetPeriodic | ( | const Standard_Boolean | thePeriodic | ) |
Sets periodic flag. If thePeriodic = Standard_True, algorithm tries to build periodic multicurve using corresponding C1 boundary condition for first and last multipoints. Multiline must be closed.
void AppDef_BSplineCompute::SetTolerances | ( | const Standard_Real | Tolerance3d, |
const Standard_Real | Tolerance2d | ||
) |
Changes the tolerances of the approximation.
const AppParCurves_MultiBSpCurve& AppDef_BSplineCompute::Value | ( | ) | const |
returns the result of the approximation.