Open CASCADE Technology 7.8.2.dev
|
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>
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. | |
Standard_Integer | NbVariables () const override |
Returns the number of variables of the function. | |
Standard_Integer | NbEquations () const override |
Returns the number of equations of the function. | |
Standard_Boolean | Value (const math_Vector &UV, math_Vector &F) override |
Calculate Fi(U,V). | |
Standard_Boolean | Derivatives (const math_Vector &UV, math_Matrix &DF) override |
Calculate Fi'(U,V). | |
Standard_Boolean | Values (const math_Vector &UV, math_Vector &F, math_Matrix &DF) override |
Calculate Fi(U,V) and Fi'(U,V). | |
virtual Standard_Integer | GetStateNumber () override |
Save the found extremum. | |
Standard_Integer | NbExt () const |
Return the number of found extrema. | |
Standard_Real | SquareDistance (const Standard_Integer N) const |
Return the value of the Nth distance. | |
const Extrema_POnSurf & | Point (const Standard_Integer N) const |
Returns the Nth extremum. | |
Public Member Functions inherited from math_FunctionSetWithDerivatives | |
Public Member Functions inherited from math_FunctionSet | |
virtual | ~math_FunctionSet () |
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.
Extrema_FuncPSNorm::Extrema_FuncPSNorm | ( | ) |
Extrema_FuncPSNorm::Extrema_FuncPSNorm | ( | const gp_Pnt & | P, |
const Adaptor3d_Surface & | S ) |
|
overridevirtual |
Calculate Fi'(U,V).
Implements math_FunctionSetWithDerivatives.
|
overridevirtual |
Save the found extremum.
Reimplemented from math_FunctionSet.
void Extrema_FuncPSNorm::Initialize | ( | const Adaptor3d_Surface & | S | ) |
sets the field mysurf of the function.
|
overridevirtual |
Returns the number of equations of the function.
Implements math_FunctionSetWithDerivatives.
Standard_Integer Extrema_FuncPSNorm::NbExt | ( | ) | const |
Return the number of found extrema.
|
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.
|
overridevirtual |
Calculate Fi(U,V).
Implements math_FunctionSetWithDerivatives.
|
overridevirtual |
Calculate Fi(U,V) and Fi'(U,V).
Implements math_FunctionSetWithDerivatives.