Open CASCADE Technology 7.8.2.dev
Extrema_FuncPSDist Class Reference

Functional for search of extremum of the square Euclidean distance between point P and surface S, starting from approximate solution (u0, v0). More...

#include <Extrema_FuncPSDist.hxx>

Inheritance diagram for Extrema_FuncPSDist:

Public Member Functions

 Extrema_FuncPSDist (const Adaptor3d_Surface &theS, const gp_Pnt &theP)
 Constructor.
 
Standard_Integer NbVariables () const override
 Number of variables.
 
Standard_Boolean Value (const math_Vector &X, Standard_Real &F) override
 Value.
 
Standard_Boolean Gradient (const math_Vector &X, math_Vector &G) override
 Gradient.
 
Standard_Boolean Values (const math_Vector &X, Standard_Real &F, math_Vector &G) override
 Value and gradient.
 
- 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 ()
 

Detailed Description

Functional for search of extremum of the square Euclidean distance between point P and surface S, starting from approximate solution (u0, v0).

The class inherits math_MultipleVarFunctionWithGradient and thus is intended for use in math_BFGS algorithm.

The criteria is: F = SquareDist(P, S(u, v)) - > min

The first derivative are: F1(u,v) = (S(u,v) - P) * Su F2(u,v) = (S(u,v) - P) * Sv

Su and Sv are first derivatives of the surface, * symbol means dot product.

Constructor & Destructor Documentation

◆ Extrema_FuncPSDist()

Extrema_FuncPSDist::Extrema_FuncPSDist ( const Adaptor3d_Surface & theS,
const gp_Pnt & theP )

Constructor.

Member Function Documentation

◆ Gradient()

Standard_Boolean Extrema_FuncPSDist::Gradient ( const math_Vector & X,
math_Vector & G )
overridevirtual

Gradient.

Implements math_MultipleVarFunctionWithGradient.

◆ NbVariables()

Standard_Integer Extrema_FuncPSDist::NbVariables ( ) const
overridevirtual

Number of variables.

Implements math_MultipleVarFunctionWithGradient.

◆ Value()

Standard_Boolean Extrema_FuncPSDist::Value ( const math_Vector & X,
Standard_Real & F )
overridevirtual

◆ Values()

Standard_Boolean Extrema_FuncPSDist::Values ( const math_Vector & X,
Standard_Real & F,
math_Vector & G )
overridevirtual

Value and gradient.

Implements math_MultipleVarFunctionWithGradient.


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