Open CASCADE Technology  7.1.0.beta
Public Member Functions

Extrema_FuncPSNorm Class Reference

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

#include <Extrema_FuncPSNorm.hxx>

Inheritance diagram for Extrema_FuncPSNorm:
Inheritance graph
[legend]

Public Member Functions

 Extrema_FuncPSNorm ()
 
 Extrema_FuncPSNorm (const gp_Pnt &P, const Adaptor3d_Surface &S)
 
void Initialize (const Adaptor3d_Surface &S)
 sets the field mysurf of the function. More...
 
void SetPoint (const gp_Pnt &P)
 sets the field mysurf of the function. More...
 
Standard_Integer NbVariables () const override
 Returns the number of variables of the function. More...
 
Standard_Integer NbEquations () const override
 Returns the number of equations of the function. More...
 
Standard_Boolean Value (const math_Vector &UV, math_Vector &F) override
 Calculate Fi(U,V). More...
 
Standard_Boolean Derivatives (const math_Vector &UV, math_Matrix &DF) override
 Calculate Fi'(U,V). More...
 
Standard_Boolean Values (const math_Vector &UV, math_Vector &F, math_Matrix &DF) override
 Calculate Fi(U,V) and Fi'(U,V). More...
 
virtual Standard_Integer GetStateNumber () override
 Save the found extremum. More...
 
Standard_Integer NbExt () const
 Return the number of found extrema. More...
 
Standard_Real SquareDistance (const Standard_Integer N) const
 Return the value of the Nth distance. More...
 
const Extrema_POnSurfPoint (const Standard_Integer N) const
 Returns the Nth extremum. More...
 
- Public Member Functions inherited from math_FunctionSet
virtual ~math_FunctionSet ()
 

Detailed Description

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

The class inherits math_FunctionSetWithDerivatives and thus is intended for use in math_FunctionSetRoot algorithm .

Denoting derivatives of the surface S(u,v) by u and v, respectively, as Su and Sv, the two functions to be nullified are:

F1(u,v) = (S - P) * Su F2(u,v) = (S - P) * Sv

The derivatives of the functional are:

Duf1(u,v) = Su^2 + (S-P) * Suu; Dvf1(u,v) = Su * Sv + (S-P) * Suv Duf2(u,v) = Sv * Su + (S-P) * Suv = Dvf1 Dvf2(u,v) = Sv^2 + (S-P) * Svv

Here * denotes scalar product, and ^2 is square power.

Constructor & Destructor Documentation

Extrema_FuncPSNorm::Extrema_FuncPSNorm ( )
Extrema_FuncPSNorm::Extrema_FuncPSNorm ( const gp_Pnt P,
const Adaptor3d_Surface S 
)

Member Function Documentation

Standard_Boolean Extrema_FuncPSNorm::Derivatives ( const math_Vector UV,
math_Matrix DF 
)
overridevirtual

Calculate Fi'(U,V).

Implements math_FunctionSetWithDerivatives.

virtual Standard_Integer Extrema_FuncPSNorm::GetStateNumber ( )
overridevirtual

Save the found extremum.

Reimplemented from math_FunctionSet.

void Extrema_FuncPSNorm::Initialize ( const Adaptor3d_Surface S)

sets the field mysurf of the function.

Standard_Integer Extrema_FuncPSNorm::NbEquations ( ) const
overridevirtual

Returns the number of equations of the function.

Implements math_FunctionSetWithDerivatives.

Standard_Integer Extrema_FuncPSNorm::NbExt ( ) const

Return the number of found extrema.

Standard_Integer Extrema_FuncPSNorm::NbVariables ( ) const
overridevirtual

Returns the number of variables of the function.

Implements math_FunctionSetWithDerivatives.

const Extrema_POnSurf& Extrema_FuncPSNorm::Point ( const Standard_Integer  N) const

Returns the Nth extremum.

void Extrema_FuncPSNorm::SetPoint ( const gp_Pnt P)

sets the field mysurf of the function.

Standard_Real Extrema_FuncPSNorm::SquareDistance ( const Standard_Integer  N) const

Return the value of the Nth distance.

Standard_Boolean Extrema_FuncPSNorm::Value ( const math_Vector UV,
math_Vector F 
)
overridevirtual

Calculate Fi(U,V).

Implements math_FunctionSetWithDerivatives.

Standard_Boolean Extrema_FuncPSNorm::Values ( const math_Vector UV,
math_Vector F,
math_Matrix DF 
)
overridevirtual

Calculate Fi(U,V) and Fi'(U,V).

Implements math_FunctionSetWithDerivatives.


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