Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
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.
 
void SetPoint (const gp_Pnt &P)
 sets the field mysurf of the function.
 
int NbVariables () const override
 Returns the number of variables of the function.
 
int NbEquations () const override
 Returns the number of equations of the function.
 
bool Value (const math_Vector &UV, math_Vector &F) override
 Calculate Fi(U,V).
 
bool Derivatives (const math_Vector &UV, math_Matrix &DF) override
 Calculate Fi'(U,V).
 
bool Values (const math_Vector &UV, math_Vector &F, math_Matrix &DF) override
 Calculate Fi(U,V) and Fi'(U,V).
 
int GetStateNumber () override
 Save the found extremum.
 
int NbExt () const
 Return the number of found extrema.
 
double SquareDistance (const int N) const
 Return the value of the Nth distance.
 
const Extrema_POnSurfPoint (const int N) const
 Returns the Nth extremum.
 
- 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() [1/2]

Extrema_FuncPSNorm::Extrema_FuncPSNorm ( )

◆ Extrema_FuncPSNorm() [2/2]

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

Member Function Documentation

◆ Derivatives()

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

Calculate Fi'(U,V).

Implements math_FunctionSetWithDerivatives.

◆ GetStateNumber()

int Extrema_FuncPSNorm::GetStateNumber ( )
overridevirtual

Save the found extremum.

Reimplemented from math_FunctionSet.

◆ Initialize()

void Extrema_FuncPSNorm::Initialize ( const Adaptor3d_Surface & S)

sets the field mysurf of the function.

◆ NbEquations()

int Extrema_FuncPSNorm::NbEquations ( ) const
overridevirtual

Returns the number of equations of the function.

Implements math_FunctionSetWithDerivatives.

◆ NbExt()

int Extrema_FuncPSNorm::NbExt ( ) const

Return the number of found extrema.

◆ NbVariables()

int Extrema_FuncPSNorm::NbVariables ( ) const
overridevirtual

Returns the number of variables of the function.

Implements math_FunctionSetWithDerivatives.

◆ Point()

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

Returns the Nth extremum.

◆ SetPoint()

void Extrema_FuncPSNorm::SetPoint ( const gp_Pnt & P)

sets the field mysurf of the function.

◆ SquareDistance()

double Extrema_FuncPSNorm::SquareDistance ( const int N) const

Return the value of the Nth distance.

◆ Value()

bool Extrema_FuncPSNorm::Value ( const math_Vector & UV,
math_Vector & F )
overridevirtual

Calculate Fi(U,V).

Implements math_FunctionSetWithDerivatives.

◆ Values()

bool 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: