Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
Approx_FitAndDivide2d Class Reference

#include <Approx_FitAndDivide2d.hxx>

Public Member Functions

 Approx_FitAndDivide2d (const AppCont_Function &Line, const int degreemin=3, const int degreemax=8, const double Tolerance3d=1.0e-5, const double Tolerance2d=1.0e-5, const bool cutting=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_FitAndDivide2d (const int degreemin=3, const int degreemax=8, const double Tolerance3d=1.0e-05, const double Tolerance2d=1.0e-05, const bool cutting=false, const AppParCurves_Constraint FirstC=AppParCurves_TangencyPoint, const AppParCurves_Constraint LastC=AppParCurves_TangencyPoint)
 Initializes the fields of the algorithm.
 
void Perform (const AppCont_Function &Line)
 runs the algorithm after having initialized the fields.
 
void SetDegrees (const int degreemin, const int degreemax)
 changes the degrees of the approximation.
 
void SetTolerances (const double Tolerance3d, const double Tolerance2d)
 Changes the tolerances of the approximation.
 
void SetConstraints (const AppParCurves_Constraint FirstC, const AppParCurves_Constraint LastC)
 Changes the constraints of the approximation.
 
void SetMaxSegments (const int theMaxSegments)
 Changes the max number of segments, which is allowed for cutting.
 
void SetInvOrder (const bool 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 SetHangChecking (const bool theHangChecking)
 Set value of hang checking flag if this flag = true, possible hang of algorithm is checked and algorithm is forced to stop. By default hang checking is used.
 
bool 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.
 
bool IsToleranceReached () const
 returns False if the status NoPointsAdded has been sent.
 
void Error (const int Index, double &tol3d, double &tol2d) const
 returns the tolerances 2d and 3d of the <Index> MultiCurve.
 
int NbMultiCurves () const
 Returns the number of MultiCurve doing the approximation of the MultiLine.
 
AppParCurves_MultiCurve Value (const int Index=1) const
 returns the approximation MultiCurve of range <Index>.
 
void Parameters (const int Index, double &firstp, double &lastp) const
 

Constructor & Destructor Documentation

◆ Approx_FitAndDivide2d() [1/2]

Approx_FitAndDivide2d::Approx_FitAndDivide2d ( const AppCont_Function & Line,
const int degreemin = 3,
const int degreemax = 8,
const double Tolerance3d = 1.0e-5,
const double Tolerance2d = 1.0e-5,
const bool cutting = 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_FitAndDivide2d() [2/2]

Approx_FitAndDivide2d::Approx_FitAndDivide2d ( const int degreemin = 3,
const int degreemax = 8,
const double Tolerance3d = 1.0e-05,
const double Tolerance2d = 1.0e-05,
const bool cutting = false,
const AppParCurves_Constraint FirstC = AppParCurves_TangencyPoint,
const AppParCurves_Constraint LastC = AppParCurves_TangencyPoint )

Initializes the fields of the algorithm.

Member Function Documentation

◆ Error()

void Approx_FitAndDivide2d::Error ( const int Index,
double & tol3d,
double & tol2d ) const

returns the tolerances 2d and 3d of the <Index> MultiCurve.

◆ IsAllApproximated()

bool Approx_FitAndDivide2d::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.

◆ IsToleranceReached()

bool Approx_FitAndDivide2d::IsToleranceReached ( ) const

returns False if the status NoPointsAdded has been sent.

◆ NbMultiCurves()

int Approx_FitAndDivide2d::NbMultiCurves ( ) const

Returns the number of MultiCurve doing the approximation of the MultiLine.

◆ Parameters()

void Approx_FitAndDivide2d::Parameters ( const int Index,
double & firstp,
double & lastp ) const

◆ Perform()

void Approx_FitAndDivide2d::Perform ( const AppCont_Function & Line)

runs the algorithm after having initialized the fields.

◆ SetConstraints()

void Approx_FitAndDivide2d::SetConstraints ( const AppParCurves_Constraint FirstC,
const AppParCurves_Constraint LastC )

Changes the constraints of the approximation.

◆ SetDegrees()

void Approx_FitAndDivide2d::SetDegrees ( const int degreemin,
const int degreemax )

changes the degrees of the approximation.

◆ SetHangChecking()

void Approx_FitAndDivide2d::SetHangChecking ( const bool theHangChecking)

Set value of hang checking flag if this flag = true, possible hang of algorithm is checked and algorithm is forced to stop. By default hang checking is used.

◆ SetInvOrder()

void Approx_FitAndDivide2d::SetInvOrder ( const bool 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.

◆ SetMaxSegments()

void Approx_FitAndDivide2d::SetMaxSegments ( const int theMaxSegments)

Changes the max number of segments, which is allowed for cutting.

◆ SetTolerances()

void Approx_FitAndDivide2d::SetTolerances ( const double Tolerance3d,
const double Tolerance2d )

Changes the tolerances of the approximation.

◆ Value()

AppParCurves_MultiCurve Approx_FitAndDivide2d::Value ( const int Index = 1) const

returns the approximation MultiCurve of range <Index>.


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