Open CASCADE Technology 7.8.0
Public Member Functions
BRepApprox_TheComputeLineOfApprox Class Reference

#include <BRepApprox_TheComputeLineOfApprox.hxx>

Public Member Functions

 BRepApprox_TheComputeLineOfApprox (const BRepApprox_TheMultiLineOfApprox &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.
 
 BRepApprox_TheComputeLineOfApprox (const BRepApprox_TheMultiLineOfApprox &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.
 
 BRepApprox_TheComputeLineOfApprox (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.
 
 BRepApprox_TheComputeLineOfApprox (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 Interpol (const BRepApprox_TheMultiLineOfApprox &Line)
 Constructs an interpolation of the MultiLine <Line> The result will be a C2 curve of degree 3.
 
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.
 
void Perform (const BRepApprox_TheMultiLineOfApprox &Line)
 runs the algorithm after having initialized the fields.
 
void SetParameters (const math_Vector &ThePar)
 The approximation will begin with the set of parameters <ThePar>.
 
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.
 
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>.
 
void SetDegrees (const Standard_Integer degreemin, const Standard_Integer degreemax)
 changes the degrees of the approximation.
 
void SetTolerances (const Standard_Real Tolerance3d, const Standard_Real Tolerance2d)
 Changes the tolerances of the approximation.
 
void SetContinuity (const Standard_Integer C)
 sets the continuity of the spline. if C = 2, the spline will be C2.
 
void SetConstraints (const AppParCurves_Constraint firstC, const AppParCurves_Constraint lastC)
 changes the first and the last constraint points.
 
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.
 
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.
 
Standard_Boolean IsToleranceReached () const
 returns False if the status NoPointsAdded has been sent.
 
void Error (Standard_Real &tol3d, Standard_Real &tol2d) const
 returns the tolerances 2d and 3d of the MultiBSpCurve.
 
const AppParCurves_MultiBSpCurveValue () const
 returns the result of the approximation.
 
AppParCurves_MultiBSpCurveChangeValue ()
 returns the result of the approximation.
 
const TColStd_Array1OfRealParameters () const
 returns the new parameters of the approximation corresponding to the points of the MultiBSpCurve.
 

Constructor & Destructor Documentation

◆ BRepApprox_TheComputeLineOfApprox() [1/4]

BRepApprox_TheComputeLineOfApprox::BRepApprox_TheComputeLineOfApprox ( const BRepApprox_TheMultiLineOfApprox 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.

◆ BRepApprox_TheComputeLineOfApprox() [2/4]

BRepApprox_TheComputeLineOfApprox::BRepApprox_TheComputeLineOfApprox ( const BRepApprox_TheMultiLineOfApprox 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.

◆ BRepApprox_TheComputeLineOfApprox() [3/4]

BRepApprox_TheComputeLineOfApprox::BRepApprox_TheComputeLineOfApprox ( 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.

◆ BRepApprox_TheComputeLineOfApprox() [4/4]

BRepApprox_TheComputeLineOfApprox::BRepApprox_TheComputeLineOfApprox ( 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.

Member Function Documentation

◆ ChangeValue()

AppParCurves_MultiBSpCurve & BRepApprox_TheComputeLineOfApprox::ChangeValue ( )

returns the result of the approximation.

◆ Error()

void BRepApprox_TheComputeLineOfApprox::Error ( Standard_Real tol3d,
Standard_Real tol2d 
) const

returns the tolerances 2d and 3d of the MultiBSpCurve.

◆ Init()

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

◆ Interpol()

void BRepApprox_TheComputeLineOfApprox::Interpol ( const BRepApprox_TheMultiLineOfApprox Line)

Constructs an interpolation of the MultiLine <Line> The result will be a C2 curve of degree 3.

◆ IsAllApproximated()

Standard_Boolean BRepApprox_TheComputeLineOfApprox::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()

Standard_Boolean BRepApprox_TheComputeLineOfApprox::IsToleranceReached ( ) const

returns False if the status NoPointsAdded has been sent.

◆ Parameters()

const TColStd_Array1OfReal & BRepApprox_TheComputeLineOfApprox::Parameters ( ) const

returns the new parameters of the approximation corresponding to the points of the MultiBSpCurve.

◆ Perform()

void BRepApprox_TheComputeLineOfApprox::Perform ( const BRepApprox_TheMultiLineOfApprox Line)

runs the algorithm after having initialized the fields.

◆ SetConstraints()

void BRepApprox_TheComputeLineOfApprox::SetConstraints ( const AppParCurves_Constraint  firstC,
const AppParCurves_Constraint  lastC 
)

changes the first and the last constraint points.

◆ SetContinuity()

void BRepApprox_TheComputeLineOfApprox::SetContinuity ( const Standard_Integer  C)

sets the continuity of the spline. if C = 2, the spline will be C2.

◆ SetDegrees()

void BRepApprox_TheComputeLineOfApprox::SetDegrees ( const Standard_Integer  degreemin,
const Standard_Integer  degreemax 
)

changes the degrees of the approximation.

◆ SetKnots()

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

◆ SetKnotsAndMultiplicities()

void BRepApprox_TheComputeLineOfApprox::SetKnotsAndMultiplicities ( const TColStd_Array1OfReal Knots,
const TColStd_Array1OfInteger Mults 
)

The approximation will be done with the set of knots <Knots> and the multiplicities <Mults>.

◆ SetParameters()

void BRepApprox_TheComputeLineOfApprox::SetParameters ( const math_Vector ThePar)

The approximation will begin with the set of parameters <ThePar>.

◆ SetPeriodic()

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

◆ SetTolerances()

void BRepApprox_TheComputeLineOfApprox::SetTolerances ( const Standard_Real  Tolerance3d,
const Standard_Real  Tolerance2d 
)

Changes the tolerances of the approximation.

◆ Value()

const AppParCurves_MultiBSpCurve & BRepApprox_TheComputeLineOfApprox::Value ( ) const

returns the result of the approximation.


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