Open CASCADE Technology 7.8.2.dev
AppDef_TheFunction Class Reference

#include <AppDef_TheFunction.hxx>

Inheritance diagram for AppDef_TheFunction:

Public Member Functions

 AppDef_TheFunction (const AppDef_MultiLine &SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle< AppParCurves_HArray1OfConstraintCouple > &TheConstraints, const math_Vector &Parameters, const Standard_Integer Deg)
 initializes the fields of the function. The approximating curve has the desired degree Deg.
 
Standard_Integer NbVariables () const
 returns the number of variables of the function. It corresponds to the number of MultiPoints.
 
Standard_Boolean Value (const math_Vector &X, Standard_Real &F)
 this method computes the new approximation of the MultiLine SSP and calculates F = sum (||Pui - Bi*Pi||2) for each point of the MultiLine.
 
Standard_Boolean Gradient (const math_Vector &X, math_Vector &G)
 returns the gradient G of the sum above for the parameters Xi.
 
Standard_Boolean Values (const math_Vector &X, Standard_Real &F, math_Vector &G)
 returns the value F=sum(||Pui - Bi*Pi||)2. returns the value G = grad(F) for the parameters Xi.
 
const math_VectorNewParameters () const
 returns the new parameters of the MultiLine.
 
const AppParCurves_MultiCurveCurveValue ()
 returns the MultiCurve approximating the set after computing the value F or Grad(F).
 
Standard_Real Error (const Standard_Integer IPoint, const Standard_Integer CurveIndex) const
 returns the distance between the MultiPoint of range IPoint and the curve CurveIndex.
 
Standard_Real MaxError3d () const
 returns the maximum distance between the points and the MultiCurve.
 
Standard_Real MaxError2d () const
 returns the maximum distance between the points and the MultiCurve.
 
AppParCurves_Constraint FirstConstraint (const Handle< AppParCurves_HArray1OfConstraintCouple > &TheConstraints, const Standard_Integer FirstPoint) const
 
AppParCurves_Constraint LastConstraint (const Handle< AppParCurves_HArray1OfConstraintCouple > &TheConstraints, const Standard_Integer LastPoint) const
 
- Public Member Functions inherited from math_MultipleVarFunctionWithGradient
- Public Member Functions inherited from math_MultipleVarFunction
virtual Standard_Integer GetStateNumber ()
 return the state of the function corresponding to the latestt call of any methods associated to the function. This function is called by each of the algorithms described later which define the function Integer Algorithm::StateNumber(). The algorithm has the responsibility to call this function when it has found a solution (i.e. a root or a minimum) and has to maintain the association between the solution found and this StateNumber. Byu default, this method returns 0 (which means for the algorithm: no state has been saved). It is the responsibility of the programmer to decide if he needs to save the current state of the function and to return an Integer that allows retrieval of the state.
 
virtual ~math_MultipleVarFunction ()
 

Protected Member Functions

void Perform (const math_Vector &X)
 this method is used each time Value or Gradient is needed.
 

Constructor & Destructor Documentation

◆ AppDef_TheFunction()

AppDef_TheFunction::AppDef_TheFunction ( const AppDef_MultiLine & SSP,
const Standard_Integer FirstPoint,
const Standard_Integer LastPoint,
const Handle< AppParCurves_HArray1OfConstraintCouple > & TheConstraints,
const math_Vector & Parameters,
const Standard_Integer Deg )

initializes the fields of the function. The approximating curve has the desired degree Deg.

Member Function Documentation

◆ CurveValue()

const AppParCurves_MultiCurve & AppDef_TheFunction::CurveValue ( )

returns the MultiCurve approximating the set after computing the value F or Grad(F).

◆ Error()

Standard_Real AppDef_TheFunction::Error ( const Standard_Integer IPoint,
const Standard_Integer CurveIndex ) const

returns the distance between the MultiPoint of range IPoint and the curve CurveIndex.

◆ FirstConstraint()

AppParCurves_Constraint AppDef_TheFunction::FirstConstraint ( const Handle< AppParCurves_HArray1OfConstraintCouple > & TheConstraints,
const Standard_Integer FirstPoint ) const

◆ Gradient()

Standard_Boolean AppDef_TheFunction::Gradient ( const math_Vector & X,
math_Vector & G )
virtual

returns the gradient G of the sum above for the parameters Xi.

Implements math_MultipleVarFunctionWithGradient.

◆ LastConstraint()

AppParCurves_Constraint AppDef_TheFunction::LastConstraint ( const Handle< AppParCurves_HArray1OfConstraintCouple > & TheConstraints,
const Standard_Integer LastPoint ) const

◆ MaxError2d()

Standard_Real AppDef_TheFunction::MaxError2d ( ) const

returns the maximum distance between the points and the MultiCurve.

◆ MaxError3d()

Standard_Real AppDef_TheFunction::MaxError3d ( ) const

returns the maximum distance between the points and the MultiCurve.

◆ NbVariables()

Standard_Integer AppDef_TheFunction::NbVariables ( ) const
virtual

returns the number of variables of the function. It corresponds to the number of MultiPoints.

Implements math_MultipleVarFunctionWithGradient.

◆ NewParameters()

const math_Vector & AppDef_TheFunction::NewParameters ( ) const

returns the new parameters of the MultiLine.

◆ Perform()

void AppDef_TheFunction::Perform ( const math_Vector & X)
protected

this method is used each time Value or Gradient is needed.

◆ Value()

Standard_Boolean AppDef_TheFunction::Value ( const math_Vector & X,
Standard_Real & F )
virtual

this method computes the new approximation of the MultiLine SSP and calculates F = sum (||Pui - Bi*Pi||2) for each point of the MultiLine.

Implements math_MultipleVarFunctionWithGradient.

◆ Values()

Standard_Boolean AppDef_TheFunction::Values ( const math_Vector & X,
Standard_Real & F,
math_Vector & G )
virtual

returns the value F=sum(||Pui - Bi*Pi||)2. returns the value G = grad(F) for the parameters Xi.

Implements math_MultipleVarFunctionWithGradient.


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