Open CASCADE Technology 7.8.2.dev
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.
 
 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.
 
Standard_Boolean IsDone () const
 returns True if all has been correctly done.
 
AppParCurves_MultiBSpCurve Value () const
 returns all the BSpline curves approximating the MultiLine SSP after minimization of the parameter.
 
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.
 
Standard_Real MaxError3d () const
 returns the maximum difference between the old and the new approximation.
 
Standard_Real MaxError2d () const
 returns the maximum difference between the old and the new approximation.
 
Standard_Real AverageError () const
 returns the average error between the old and the new approximation.
 

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: