Open CASCADE Technology
7.4.0
|
#include <Approx_FitAndDivide.hxx>
Public Member Functions | |
Approx_FitAndDivide (const AppCont_Function &Line, const Standard_Integer degreemin=3, const Standard_Integer degreemax=8, const Standard_Real Tolerance3d=1.0e-5, const Standard_Real Tolerance2d=1.0e-5, const Standard_Boolean cutting=Standard_False, const AppParCurves_Constraint FirstC=AppParCurves_TangencyPoint, const AppParCurves_Constraint LastC=AppParCurves_TangencyPoint) | |
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. More... | |
Approx_FitAndDivide (const Standard_Integer degreemin=3, const Standard_Integer degreemax=8, const Standard_Real Tolerance3d=1.0e-05, const Standard_Real Tolerance2d=1.0e-05, const Standard_Boolean cutting=Standard_False, const AppParCurves_Constraint FirstC=AppParCurves_TangencyPoint, const AppParCurves_Constraint LastC=AppParCurves_TangencyPoint) | |
Initializes the fields of the algorithm. More... | |
void | Perform (const AppCont_Function &Line) |
runs the algorithm after having initialized the fields. 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 | SetConstraints (const AppParCurves_Constraint FirstC, const AppParCurves_Constraint LastC) |
Changes the constraints of the approximation. More... | |
void | SetMaxSegments (const Standard_Integer theMaxSegments) |
Changes the max number of segments, which is allowed for cutting. More... | |
void | SetInvOrder (const Standard_Boolean theInvOrder) |
Set inverse order of degree selection: if theInvOrdr = true, current degree is chosen by inverse order - from maxdegree to mindegree. By default inverse order is used. 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 (const Standard_Integer Index, Standard_Real &tol3d, Standard_Real &tol2d) const |
returns the tolerances 2d and 3d of the <Index> MultiCurve. More... | |
Standard_Integer | NbMultiCurves () const |
Returns the number of MultiCurve doing the approximation of the MultiLine. More... | |
AppParCurves_MultiCurve | Value (const Standard_Integer Index=1) const |
returns the approximation MultiCurve of range <Index>. More... | |
void | Parameters (const Standard_Integer Index, Standard_Real &firstp, Standard_Real &lastp) const |
Approx_FitAndDivide::Approx_FitAndDivide | ( | const AppCont_Function & | Line, |
const Standard_Integer | degreemin = 3 , |
||
const Standard_Integer | degreemax = 8 , |
||
const Standard_Real | Tolerance3d = 1.0e-5 , |
||
const Standard_Real | Tolerance2d = 1.0e-5 , |
||
const Standard_Boolean | cutting = Standard_False , |
||
const AppParCurves_Constraint | FirstC = AppParCurves_TangencyPoint , |
||
const AppParCurves_Constraint | LastC = AppParCurves_TangencyPoint |
||
) |
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.
Approx_FitAndDivide::Approx_FitAndDivide | ( | const Standard_Integer | degreemin = 3 , |
const Standard_Integer | degreemax = 8 , |
||
const Standard_Real | Tolerance3d = 1.0e-05 , |
||
const Standard_Real | Tolerance2d = 1.0e-05 , |
||
const Standard_Boolean | cutting = Standard_False , |
||
const AppParCurves_Constraint | FirstC = AppParCurves_TangencyPoint , |
||
const AppParCurves_Constraint | LastC = AppParCurves_TangencyPoint |
||
) |
Initializes the fields of the algorithm.
void Approx_FitAndDivide::Error | ( | const Standard_Integer | Index, |
Standard_Real & | tol3d, | ||
Standard_Real & | tol2d | ||
) | const |
returns the tolerances 2d and 3d of the <Index> MultiCurve.
Standard_Boolean Approx_FitAndDivide::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 Approx_FitAndDivide::IsToleranceReached | ( | ) | const |
returns False if the status NoPointsAdded has been sent.
Standard_Integer Approx_FitAndDivide::NbMultiCurves | ( | ) | const |
Returns the number of MultiCurve doing the approximation of the MultiLine.
void Approx_FitAndDivide::Parameters | ( | const Standard_Integer | Index, |
Standard_Real & | firstp, | ||
Standard_Real & | lastp | ||
) | const |
void Approx_FitAndDivide::Perform | ( | const AppCont_Function & | Line | ) |
runs the algorithm after having initialized the fields.
void Approx_FitAndDivide::SetConstraints | ( | const AppParCurves_Constraint | FirstC, |
const AppParCurves_Constraint | LastC | ||
) |
Changes the constraints of the approximation.
void Approx_FitAndDivide::SetDegrees | ( | const Standard_Integer | degreemin, |
const Standard_Integer | degreemax | ||
) |
changes the degrees of the approximation.
void Approx_FitAndDivide::SetInvOrder | ( | const Standard_Boolean | theInvOrder | ) |
Set inverse order of degree selection: if theInvOrdr = true, current degree is chosen by inverse order - from maxdegree to mindegree. By default inverse order is used.
void Approx_FitAndDivide::SetMaxSegments | ( | const Standard_Integer | theMaxSegments | ) |
Changes the max number of segments, which is allowed for cutting.
void Approx_FitAndDivide::SetTolerances | ( | const Standard_Real | Tolerance3d, |
const Standard_Real | Tolerance2d | ||
) |
Changes the tolerances of the approximation.
AppParCurves_MultiCurve Approx_FitAndDivide::Value | ( | const Standard_Integer | Index = 1 | ) | const |
returns the approximation MultiCurve of range <Index>.