Open CASCADE Technology
6.5.4
|
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.
#include <Extrema_FuncExtPS.hxx>
Public Member Functions | |
DEFINE_STANDARD_ALLOC | Extrema_FuncExtPS () |
Extrema_FuncExtPS (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 |
Returns the number of variables of the function. | |
Standard_Integer | NbEquations () const |
Returns the number of equations of the function. | |
Standard_Boolean | Value (const math_Vector &UV, math_Vector &F) |
Calculate Fi(U,V). | |
Standard_Boolean | Derivatives (const math_Vector &UV, math_Matrix &DF) |
Calculate Fi'(U,V). | |
Standard_Boolean | Values (const math_Vector &UV, math_Vector &F, math_Matrix &DF) |
Calculate Fi(U,V) and Fi'(U,V). | |
virtual Standard_Integer | GetStateNumber () |
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. | |
Extrema_POnSurf | Point (const Standard_Integer N) const |
Returns the Nth extremum. |
Standard_Boolean Extrema_FuncExtPS::Derivatives | ( | const math_Vector & | UV, |
math_Matrix & | DF | ||
) | [virtual] |
Implements math_FunctionSetWithDerivatives.
virtual Standard_Integer Extrema_FuncExtPS::GetStateNumber | ( | ) | [virtual] |
Reimplemented from math_FunctionSet.
Standard_Integer Extrema_FuncExtPS::NbEquations | ( | ) | const [virtual] |
Implements math_FunctionSetWithDerivatives.
Standard_Integer Extrema_FuncExtPS::NbExt | ( | ) | const |
Standard_Integer Extrema_FuncExtPS::NbVariables | ( | ) | const [virtual] |
Implements math_FunctionSetWithDerivatives.
Standard_Boolean Extrema_FuncExtPS::Value | ( | const math_Vector & | UV, |
math_Vector & | F | ||
) | [virtual] |
Implements math_FunctionSetWithDerivatives.
Standard_Boolean Extrema_FuncExtPS::Values | ( | const math_Vector & | UV, |
math_Vector & | F, | ||
math_Matrix & | DF | ||
) | [virtual] |
Implements math_FunctionSetWithDerivatives.