Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions
AppDef_MyBSplGradientOfBSplineCompute Class Reference

#include <AppDef_MyBSplGradientOfBSplineCompute.hxx>

Public Member Functions

 AppDef_MyBSplGradientOfBSplineCompute (const AppDef_MultiLine &SSP, const int FirstPoint, const int LastPoint, const occ::handle< NCollection_HArray1< AppParCurves_ConstraintCouple > > &TheConstraints, math_Vector &Parameters, const NCollection_Array1< double > &Knots, const NCollection_Array1< int > &Mults, const int Deg, const double Tol3d, const double Tol2d, const int 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 int FirstPoint, const int LastPoint, const occ::handle< NCollection_HArray1< AppParCurves_ConstraintCouple > > &TheConstraints, math_Vector &Parameters, const NCollection_Array1< double > &Knots, const NCollection_Array1< int > &Mults, const int Deg, const double Tol3d, const double Tol2d, const int NbIterations, const double lambda1, const double 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.
 
bool 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.
 
double Error (const int 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.
 
double MaxError3d () const
 returns the maximum difference between the old and the new approximation.
 
double MaxError2d () const
 returns the maximum difference between the old and the new approximation.
 
double AverageError () const
 returns the average error between the old and the new approximation.
 

Protected Member Functions

void Perform (const AppDef_MultiLine &SSP, const int FirstPoint, const int LastPoint, const occ::handle< NCollection_HArray1< AppParCurves_ConstraintCouple > > &TheConstraints, math_Vector &Parameters, const NCollection_Array1< double > &Knots, const NCollection_Array1< int > &Mults, const int Deg, const double Tol3d, const double Tol2d, const int NbIterations=200)
 

Constructor & Destructor Documentation

◆ AppDef_MyBSplGradientOfBSplineCompute() [1/2]

AppDef_MyBSplGradientOfBSplineCompute::AppDef_MyBSplGradientOfBSplineCompute ( const AppDef_MultiLine & SSP,
const int FirstPoint,
const int LastPoint,
const occ::handle< NCollection_HArray1< AppParCurves_ConstraintCouple > > & TheConstraints,
math_Vector & Parameters,
const NCollection_Array1< double > & Knots,
const NCollection_Array1< int > & Mults,
const int Deg,
const double Tol3d,
const double Tol2d,
const int 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 int FirstPoint,
const int LastPoint,
const occ::handle< NCollection_HArray1< AppParCurves_ConstraintCouple > > & TheConstraints,
math_Vector & Parameters,
const NCollection_Array1< double > & Knots,
const NCollection_Array1< int > & Mults,
const int Deg,
const double Tol3d,
const double Tol2d,
const int NbIterations,
const double lambda1,
const double 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()

double AppDef_MyBSplGradientOfBSplineCompute::AverageError ( ) const

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

◆ Error()

double AppDef_MyBSplGradientOfBSplineCompute::Error ( const int 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()

bool AppDef_MyBSplGradientOfBSplineCompute::IsDone ( ) const

returns True if all has been correctly done.

◆ MaxError2d()

double AppDef_MyBSplGradientOfBSplineCompute::MaxError2d ( ) const

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

◆ MaxError3d()

double 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 int FirstPoint,
const int LastPoint,
const occ::handle< NCollection_HArray1< AppParCurves_ConstraintCouple > > & TheConstraints,
math_Vector & Parameters,
const NCollection_Array1< double > & Knots,
const NCollection_Array1< int > & Mults,
const int Deg,
const double Tol3d,
const double Tol2d,
const int 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: