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

#include <AppDef_ParFunctionOfTheGradient.hxx>

Inheritance diagram for AppDef_ParFunctionOfTheGradient:
Inheritance graph
[legend]

Public Member Functions

 AppDef_ParFunctionOfTheGradient (const AppDef_MultiLine &SSP, const int FirstPoint, const int LastPoint, const occ::handle< NCollection_HArray1< AppParCurves_ConstraintCouple > > &TheConstraints, const math_Vector &Parameters, const int Deg)
 initializes the fields of the function. The approximating curve has the desired degree Deg.
 
int NbVariables () const override
 returns the number of variables of the function. It corresponds to the number of MultiPoints.
 
bool Value (const math_Vector &X, double &F) override
 this method computes the new approximation of the MultiLine SSP and calculates F = sum (||Pui - Bi*Pi||2) for each point of the MultiLine.
 
bool Gradient (const math_Vector &X, math_Vector &G) override
 returns the gradient G of the sum above for the parameters Xi.
 
bool Values (const math_Vector &X, double &F, math_Vector &G) override
 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).
 
double Error (const int IPoint, const int CurveIndex) const
 returns the distance between the MultiPoint of range IPoint and the curve CurveIndex.
 
double MaxError3d () const
 returns the maximum distance between the points and the MultiCurve.
 
double MaxError2d () const
 returns the maximum distance between the points and the MultiCurve.
 
AppParCurves_Constraint FirstConstraint (const occ::handle< NCollection_HArray1< AppParCurves_ConstraintCouple > > &TheConstraints, const int FirstPoint) const
 
AppParCurves_Constraint LastConstraint (const occ::handle< NCollection_HArray1< AppParCurves_ConstraintCouple > > &TheConstraints, const int LastPoint) const
 
- Public Member Functions inherited from math_MultipleVarFunction
virtual int 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_ParFunctionOfTheGradient()

AppDef_ParFunctionOfTheGradient::AppDef_ParFunctionOfTheGradient ( const AppDef_MultiLine & SSP,
const int FirstPoint,
const int LastPoint,
const occ::handle< NCollection_HArray1< AppParCurves_ConstraintCouple > > & TheConstraints,
const math_Vector & Parameters,
const int Deg )

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

Member Function Documentation

◆ CurveValue()

const AppParCurves_MultiCurve & AppDef_ParFunctionOfTheGradient::CurveValue ( )

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

◆ Error()

double AppDef_ParFunctionOfTheGradient::Error ( const int IPoint,
const int CurveIndex ) const

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

◆ FirstConstraint()

AppParCurves_Constraint AppDef_ParFunctionOfTheGradient::FirstConstraint ( const occ::handle< NCollection_HArray1< AppParCurves_ConstraintCouple > > & TheConstraints,
const int FirstPoint ) const

◆ Gradient()

bool AppDef_ParFunctionOfTheGradient::Gradient ( const math_Vector & X,
math_Vector & G )
overridevirtual

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

Implements math_MultipleVarFunctionWithGradient.

◆ LastConstraint()

AppParCurves_Constraint AppDef_ParFunctionOfTheGradient::LastConstraint ( const occ::handle< NCollection_HArray1< AppParCurves_ConstraintCouple > > & TheConstraints,
const int LastPoint ) const

◆ MaxError2d()

double AppDef_ParFunctionOfTheGradient::MaxError2d ( ) const

returns the maximum distance between the points and the MultiCurve.

◆ MaxError3d()

double AppDef_ParFunctionOfTheGradient::MaxError3d ( ) const

returns the maximum distance between the points and the MultiCurve.

◆ NbVariables()

int AppDef_ParFunctionOfTheGradient::NbVariables ( ) const
overridevirtual

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

Implements math_MultipleVarFunctionWithGradient.

◆ NewParameters()

const math_Vector & AppDef_ParFunctionOfTheGradient::NewParameters ( ) const

returns the new parameters of the MultiLine.

◆ Perform()

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

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

◆ Value()

bool AppDef_ParFunctionOfTheGradient::Value ( const math_Vector & X,
double & F )
overridevirtual

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()

bool AppDef_ParFunctionOfTheGradient::Values ( const math_Vector & X,
double & F,
math_Vector & G )
overridevirtual

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: