Open CASCADE Technology  7.3.0
Public Member Functions | Protected Member Functions

AppDef_MyBSplGradientOfBSplineCompute Class Reference

#include <AppDef_MyBSplGradientOfBSplineCompute.hxx>

Public Member Functions

 AppDef_MyBSplGradientOfBSplineCompute (const AppDef_MultiLine &SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle< AppParCurves_HArray1OfConstraintCouple > &TheConstraints, math_Vector &Parameters, const TColStd_Array1OfReal &Knots, const TColStd_Array1OfInteger &Mults, const Standard_Integer Deg, const Standard_Real Tol3d, const Standard_Real Tol2d, const Standard_Integer NbIterations=1)
 Tries to minimize the sum (square(||Qui - Bi*Pi||)) where Pui describe the approximating BSpline curves'Poles and Qi the MultiLine points with a parameter ui. In this algorithm, the parameters ui are the unknowns. The tolerance required on this sum is given by Tol. The desired degree of the resulting curve is Deg. More...
 
 AppDef_MyBSplGradientOfBSplineCompute (const AppDef_MultiLine &SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle< AppParCurves_HArray1OfConstraintCouple > &TheConstraints, math_Vector &Parameters, const TColStd_Array1OfReal &Knots, const TColStd_Array1OfInteger &Mults, const Standard_Integer Deg, const Standard_Real Tol3d, const Standard_Real Tol2d, const Standard_Integer NbIterations, const Standard_Real lambda1, const Standard_Real lambda2)
 Tries to minimize the sum (square(||Qui - Bi*Pi||)) where Pui describe the approximating BSpline curves'Poles and Qi the MultiLine points with a parameter ui. In this algorithm, the parameters ui are the unknowns. The tolerance required on this sum is given by Tol. The desired degree of the resulting curve is Deg. More...
 
Standard_Boolean IsDone () const
 returns True if all has been correctly done. More...
 
AppParCurves_MultiBSpCurve Value () const
 returns all the BSpline curves approximating the MultiLine SSP after minimization of the parameter. More...
 
Standard_Real Error (const Standard_Integer Index) const
 returns the difference between the old and the new approximation. An exception is raised if NotDone. An exception is raised if Index<1 or Index>NbParameters. More...
 
Standard_Real MaxError3d () const
 returns the maximum difference between the old and the new approximation. More...
 
Standard_Real MaxError2d () const
 returns the maximum difference between the old and the new approximation. More...
 
Standard_Real AverageError () const
 returns the average error between the old and the new approximation. More...
 

Protected Member Functions

void Perform (const AppDef_MultiLine &SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle< AppParCurves_HArray1OfConstraintCouple > &TheConstraints, math_Vector &Parameters, const TColStd_Array1OfReal &Knots, const TColStd_Array1OfInteger &Mults, const Standard_Integer Deg, const Standard_Real Tol3d, const Standard_Real Tol2d, const Standard_Integer NbIterations=200)
 

Constructor & Destructor Documentation

◆ AppDef_MyBSplGradientOfBSplineCompute() [1/2]

AppDef_MyBSplGradientOfBSplineCompute::AppDef_MyBSplGradientOfBSplineCompute ( const AppDef_MultiLine SSP,
const Standard_Integer  FirstPoint,
const Standard_Integer  LastPoint,
const Handle< AppParCurves_HArray1OfConstraintCouple > &  TheConstraints,
math_Vector Parameters,
const TColStd_Array1OfReal Knots,
const TColStd_Array1OfInteger Mults,
const Standard_Integer  Deg,
const Standard_Real  Tol3d,
const Standard_Real  Tol2d,
const Standard_Integer  NbIterations = 1 
)

Tries to minimize the sum (square(||Qui - Bi*Pi||)) where Pui describe the approximating BSpline curves'Poles and Qi the MultiLine points with a parameter ui. In this algorithm, the parameters ui are the unknowns. The tolerance required on this sum is given by Tol. The desired degree of the resulting curve is Deg.

◆ AppDef_MyBSplGradientOfBSplineCompute() [2/2]

AppDef_MyBSplGradientOfBSplineCompute::AppDef_MyBSplGradientOfBSplineCompute ( const AppDef_MultiLine SSP,
const Standard_Integer  FirstPoint,
const Standard_Integer  LastPoint,
const Handle< AppParCurves_HArray1OfConstraintCouple > &  TheConstraints,
math_Vector Parameters,
const TColStd_Array1OfReal Knots,
const TColStd_Array1OfInteger Mults,
const Standard_Integer  Deg,
const Standard_Real  Tol3d,
const Standard_Real  Tol2d,
const Standard_Integer  NbIterations,
const Standard_Real  lambda1,
const Standard_Real  lambda2 
)

Tries to minimize the sum (square(||Qui - Bi*Pi||)) where Pui describe the approximating BSpline curves'Poles and Qi the MultiLine points with a parameter ui. In this algorithm, the parameters ui are the unknowns. The tolerance required on this sum is given by Tol. The desired degree of the resulting curve is Deg.

Member Function Documentation

◆ AverageError()

Standard_Real AppDef_MyBSplGradientOfBSplineCompute::AverageError ( ) const

returns the average error between the old and the new approximation.

◆ Error()

Standard_Real AppDef_MyBSplGradientOfBSplineCompute::Error ( const Standard_Integer  Index) const

returns the difference between the old and the new approximation. An exception is raised if NotDone. An exception is raised if Index<1 or Index>NbParameters.

◆ IsDone()

Standard_Boolean AppDef_MyBSplGradientOfBSplineCompute::IsDone ( ) const

returns True if all has been correctly done.

◆ MaxError2d()

Standard_Real AppDef_MyBSplGradientOfBSplineCompute::MaxError2d ( ) const

returns the maximum difference between the old and the new approximation.

◆ MaxError3d()

Standard_Real AppDef_MyBSplGradientOfBSplineCompute::MaxError3d ( ) const

returns the maximum difference between the old and the new approximation.

◆ Perform()

void AppDef_MyBSplGradientOfBSplineCompute::Perform ( const AppDef_MultiLine SSP,
const Standard_Integer  FirstPoint,
const Standard_Integer  LastPoint,
const Handle< AppParCurves_HArray1OfConstraintCouple > &  TheConstraints,
math_Vector Parameters,
const TColStd_Array1OfReal Knots,
const TColStd_Array1OfInteger Mults,
const Standard_Integer  Deg,
const Standard_Real  Tol3d,
const Standard_Real  Tol2d,
const Standard_Integer  NbIterations = 200 
)
protected

◆ Value()

AppParCurves_MultiBSpCurve AppDef_MyBSplGradientOfBSplineCompute::Value ( ) const

returns all the BSpline curves approximating the MultiLine SSP after minimization of the parameter.


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