Open CASCADE Technology 7.9.0
|
necessary methodes to compute the energy of an FairCurve. More...
#include <FairCurve_Energy.hxx>
Public Member Functions | |
virtual Standard_Integer | NbVariables () const override |
returns the number of variables of the energy. | |
virtual Standard_Boolean | Value (const math_Vector &X, Standard_Real &E) override |
computes the values of the Energys E for the variable <X>. Returns True if the computation was done successfully, False otherwise. | |
virtual Standard_Boolean | Gradient (const math_Vector &X, math_Vector &G) override |
computes the gradient <G> of the energys for the variable <X>. Returns True if the computation was done successfully, False otherwise. | |
virtual Standard_Boolean | Values (const math_Vector &X, Standard_Real &E, math_Vector &G) override |
computes the Energy <E> and the gradient <G> of the energy for the variable <X>. Returns True if the computation was done successfully, False otherwise. | |
virtual Standard_Boolean | Values (const math_Vector &X, Standard_Real &E, math_Vector &G, math_Matrix &H) override |
computes the Energy <E>, the gradient <G> and the Hessian <H> of the energy for the variable <X>. Returns True if the computation was done successfully, False otherwise. | |
virtual Standard_Boolean | Variable (math_Vector &X) const |
compute the variables <X> which correspond with the field <MyPoles> | |
const Handle< TColgp_HArray1OfPnt2d > & | Poles () const |
return the poles | |
![]() | |
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 () |
Protected Member Functions | |
FairCurve_Energy (const Handle< TColgp_HArray1OfPnt2d > &Poles, const Standard_Integer ConstrOrder1, const Standard_Integer ConstrOrder2, const Standard_Boolean WithAuxValue=Standard_False, const Standard_Real Angle1=0, const Standard_Real Angle2=0, const Standard_Integer Degree=2, const Standard_Real Curvature1=0, const Standard_Real Curvature2=0) | |
Angles correspond to the Ox axis ConstrOrder1(2) can be equal to 0, 1 or 2. | |
void | Gradient1 (const math_Vector &TheVector, math_Vector &G) |
It is use internally to make the Gradient Vector <G> | |
void | Hessian1 (const math_Vector &TheVector, math_Matrix &H) |
It is use internally to make the Hessian Matrix <H> | |
virtual void | ComputePoles (const math_Vector &X) |
compute the poles which correspond with the variable X | |
Standard_Integer | Indice (const Standard_Integer i, const Standard_Integer j) const |
void | ComputePolesG1 (const Standard_Integer Side, const Standard_Real Lambda, const gp_Pnt2d &P1, gp_Pnt2d &P2) const |
compute the pole which depend of variables and G1 constraint | |
void | ComputePolesG2 (const Standard_Integer Side, const Standard_Real Lambda, const Standard_Real Rho, const gp_Pnt2d &P1, gp_Pnt2d &P2) const |
compute the pole which depend of variables and G2 constraint | |
virtual Standard_Boolean | Compute (const Standard_Integer DerivativeOrder, math_Vector &Result)=0 |
compute the energy (and derivatives) in intermediate format | |
Protected Attributes | |
Handle< TColgp_HArray1OfPnt2d > | MyPoles |
Standard_Integer | MyContrOrder1 |
Standard_Integer | MyContrOrder2 |
Standard_Boolean | MyWithAuxValue |
Standard_Integer | MyNbVar |
necessary methodes to compute the energy of an FairCurve.
|
protected |
Angles correspond to the Ox axis ConstrOrder1(2) can be equal to 0, 1 or 2.
|
protectedpure virtual |
compute the energy (and derivatives) in intermediate format
Implemented in FairCurve_EnergyOfBatten, and FairCurve_EnergyOfMVC.
|
protectedvirtual |
compute the poles which correspond with the variable X
Reimplemented in FairCurve_EnergyOfBatten, and FairCurve_EnergyOfMVC.
|
protected |
compute the pole which depend of variables and G1 constraint
|
protected |
compute the pole which depend of variables and G2 constraint
|
overridevirtual |
computes the gradient <G> of the energys for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Implements math_MultipleVarFunctionWithHessian.
|
protected |
It is use internally to make the Gradient Vector <G>
|
protected |
It is use internally to make the Hessian Matrix <H>
|
protected |
|
overridevirtual |
returns the number of variables of the energy.
Implements math_MultipleVarFunctionWithHessian.
const Handle< TColgp_HArray1OfPnt2d > & FairCurve_Energy::Poles | ( | ) | const |
return the poles
|
overridevirtual |
computes the values of the Energys E for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Implements math_MultipleVarFunctionWithHessian.
|
overridevirtual |
computes the Energy <E> and the gradient <G> of the energy for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Implements math_MultipleVarFunctionWithHessian.
|
overridevirtual |
computes the Energy <E>, the gradient <G> and the Hessian <H> of the energy for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Implements math_MultipleVarFunctionWithHessian.
|
virtual |
compute the variables <X> which correspond with the field <MyPoles>
Reimplemented in FairCurve_EnergyOfBatten, and FairCurve_EnergyOfMVC.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |