|
Open CASCADE Technology 6.5.2
|
necessary methodes to compute the energy of an FairCurve.
#include <FairCurve_Energy.hxx>

Public Member Functions | |
| void * | operator new (size_t, void *anAddress) |
| void * | operator new (size_t size) |
| void | operator delete (void *anAddress) |
| virtual Standard_Integer | NbVariables () const |
| returns the number of variables of the energy. | |
| virtual Standard_Boolean | Value (const math_Vector &X, Standard_Real &E) |
| 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) |
| 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) |
| 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) |
| 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> wich correspond with the field <MyPoles> | |
| const Handle_TColgp_HArray1OfPnt2d & | Poles () const |
| return the poles | |
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 corresspond 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 internaly to make the Gradient Vector <G> | |
| void | Hessian1 (const math_Vector &TheVector, math_Matrix &H) |
| It is use internaly to make the Hessian Matrix <H> | |
| virtual void | ComputePoles (const math_Vector &X) |
| compute the poles wich 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 wich 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 wich depend of variables and G2 constraint | |
| virtual Standard_Boolean | Compute (const Standard_Integer DerivativeOrder, math_Vector &Result)=0 |
| compute the energy (and derivatives) in intermediat format | |
Protected Attributes | |
| Handle_TColgp_HArray1OfPnt2d | MyPoles |
| Standard_Integer | MyContrOrder1 |
| Standard_Integer | MyContrOrder2 |
| Standard_Boolean | MyWithAuxValue |
| Standard_Integer | MyNbVar |
| FairCurve_Energy::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 |
||
| ) | [protected] |
| virtual Standard_Boolean FairCurve_Energy::Compute | ( | const Standard_Integer | DerivativeOrder, |
| math_Vector & | Result | ||
| ) | [protected, pure virtual] |
Implemented in FairCurve_EnergyOfBatten, and FairCurve_EnergyOfMVC.
| virtual void FairCurve_Energy::ComputePoles | ( | const math_Vector & | X | ) | [protected, virtual] |
Reimplemented in FairCurve_EnergyOfBatten, and FairCurve_EnergyOfMVC.
| void FairCurve_Energy::ComputePolesG1 | ( | const Standard_Integer | Side, |
| const Standard_Real | Lambda, | ||
| const gp_Pnt2d & | P1, | ||
| gp_Pnt2d & | P2 | ||
| ) | const [protected] |
| void FairCurve_Energy::ComputePolesG2 | ( | const Standard_Integer | Side, |
| const Standard_Real | Lambda, | ||
| const Standard_Real | Rho, | ||
| const gp_Pnt2d & | P1, | ||
| gp_Pnt2d & | P2 | ||
| ) | const [protected] |
| virtual Standard_Boolean FairCurve_Energy::Gradient | ( | const math_Vector & | X, |
| math_Vector & | G | ||
| ) | [virtual] |
Implements math_MultipleVarFunctionWithHessian.
| void FairCurve_Energy::Gradient1 | ( | const math_Vector & | TheVector, |
| math_Vector & | G | ||
| ) | [protected] |
| void FairCurve_Energy::Hessian1 | ( | const math_Vector & | TheVector, |
| math_Matrix & | H | ||
| ) | [protected] |
| Standard_Integer FairCurve_Energy::Indice | ( | const Standard_Integer | i, |
| const Standard_Integer | j | ||
| ) | const [protected] |
| virtual Standard_Integer FairCurve_Energy::NbVariables | ( | ) | const [virtual] |
Implements math_MultipleVarFunctionWithHessian.
| void FairCurve_Energy::operator delete | ( | void * | anAddress | ) | [inline] |
Reimplemented from math_MultipleVarFunctionWithHessian.
Reimplemented in FairCurve_EnergyOfBatten, and FairCurve_EnergyOfMVC.
| void* FairCurve_Energy::operator new | ( | size_t | size | ) | [inline] |
Reimplemented from math_MultipleVarFunctionWithHessian.
Reimplemented in FairCurve_EnergyOfBatten, and FairCurve_EnergyOfMVC.
| void* FairCurve_Energy::operator new | ( | size_t | , |
| void * | anAddress | ||
| ) | [inline] |
Reimplemented from math_MultipleVarFunctionWithHessian.
Reimplemented in FairCurve_EnergyOfBatten, and FairCurve_EnergyOfMVC.
| const Handle_TColgp_HArray1OfPnt2d& FairCurve_Energy::Poles | ( | ) | const |
| virtual Standard_Boolean FairCurve_Energy::Value | ( | const math_Vector & | X, |
| Standard_Real & | E | ||
| ) | [virtual] |
Implements math_MultipleVarFunctionWithHessian.
| virtual Standard_Boolean FairCurve_Energy::Values | ( | const math_Vector & | X, |
| Standard_Real & | E, | ||
| math_Vector & | G, | ||
| math_Matrix & | H | ||
| ) | [virtual] |
Implements math_MultipleVarFunctionWithHessian.
| virtual Standard_Boolean FairCurve_Energy::Values | ( | const math_Vector & | X, |
| Standard_Real & | E, | ||
| math_Vector & | G | ||
| ) | [virtual] |
Implements math_MultipleVarFunctionWithHessian.
| virtual Standard_Boolean FairCurve_Energy::Variable | ( | math_Vector & | X | ) | const [virtual] |
Reimplemented in FairCurve_EnergyOfBatten, and FairCurve_EnergyOfMVC.
Standard_Integer FairCurve_Energy::MyContrOrder1 [protected] |
Standard_Integer FairCurve_Energy::MyContrOrder2 [protected] |
Standard_Integer FairCurve_Energy::MyNbVar [protected] |
Handle_TColgp_HArray1OfPnt2d FairCurve_Energy::MyPoles [protected] |
Standard_Boolean FairCurve_Energy::MyWithAuxValue [protected] |
1.7.4