OCC Main Page | ModelingAlgorithms | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

ModelingAlgorithms
TKGeomAlgo
FairCurve


FairCurve_Energy Class Reference

necessary methodes to compute the energy of an FairCurve.

#include <FairCurve_Energy.hxx>

Inheritance diagram for FairCurve_Energy:

Inheritance graph
[legend]

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_EXPORT 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_EXPORT 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_EXPORT 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_EXPORT 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_EXPORT 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

Standard_EXPORT 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
.
Standard_EXPORT void Gradient1 (const math_Vector &TheVector, math_Vector &G)
 It is use internaly to make the Gradient Vector <g>
.
Standard_EXPORT void Hessian1 (const math_Vector &TheVector, math_Matrix &H)
 It is use internaly to make the Hessian Matrix <h>
.
virtual Standard_EXPORT 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
Standard_EXPORT 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

Standard_EXPORT 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_EXPORT 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

Private Attributes

Standard_Integer MyNbValues
TColgp_Array1OfXY MyLinearForm
TColgp_Array1OfXY MyQuadForm
math_Vector MyGradient
math_Vector MyHessian

Constructor & Destructor Documentation

Standard_EXPORT 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]
 


Member Function Documentation

virtual Standard_EXPORT Standard_Boolean FairCurve_Energy::Compute const Standard_Integer  DerivativeOrder,
math_Vector &  Result
[protected, pure virtual]
 

Implemented in FairCurve_EnergyOfBatten, and FairCurve_EnergyOfMVC.

virtual Standard_EXPORT void FairCurve_Energy::ComputePoles const math_Vector &  X  )  [protected, virtual]
 

Reimplemented in FairCurve_EnergyOfBatten, and FairCurve_EnergyOfMVC.

Standard_EXPORT void FairCurve_Energy::ComputePolesG1 const Standard_Integer  Side,
const Standard_Real  Lambda,
const gp_Pnt2d &  P1,
gp_Pnt2d &  P2
const [protected]
 

Standard_EXPORT 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_EXPORT Standard_Boolean FairCurve_Energy::Gradient const math_Vector &  X,
math_Vector &  G
[virtual]
 

Standard_EXPORT void FairCurve_Energy::Gradient1 const math_Vector &  TheVector,
math_Vector &  G
[protected]
 

Standard_EXPORT 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 [inline, protected]
 

Standard_Integer FairCurve_Energy::NbVariables  )  const [inline, virtual]
 

void FairCurve_Energy::operator delete void *  anAddress  )  [inline]
 

Reimplemented in FairCurve_EnergyOfBatten, and FairCurve_EnergyOfMVC.

void* FairCurve_Energy::operator new size_t  size  )  [inline]
 

Reimplemented in FairCurve_EnergyOfBatten, and FairCurve_EnergyOfMVC.

void* FairCurve_Energy::operator new size_t  ,
void *  anAddress
[inline]
 

Reimplemented in FairCurve_EnergyOfBatten, and FairCurve_EnergyOfMVC.

const Handle_TColgp_HArray1OfPnt2d& FairCurve_Energy::Poles  )  const
 

virtual Standard_EXPORT Standard_Boolean FairCurve_Energy::Value const math_Vector &  X,
Standard_Real &  E
[virtual]
 

virtual Standard_EXPORT Standard_Boolean FairCurve_Energy::Values const math_Vector &  X,
Standard_Real &  E,
math_Vector &  G,
math_Matrix &  H
[virtual]
 

virtual Standard_EXPORT Standard_Boolean FairCurve_Energy::Values const math_Vector &  X,
Standard_Real &  E,
math_Vector &  G
[virtual]
 

virtual Standard_EXPORT Standard_Boolean FairCurve_Energy::Variable math_Vector &  X  )  const [virtual]
 

Reimplemented in FairCurve_EnergyOfBatten, and FairCurve_EnergyOfMVC.


Field Documentation

Standard_Integer FairCurve_Energy::MyContrOrder1 [protected]
 

Standard_Integer FairCurve_Energy::MyContrOrder2 [protected]
 

math_Vector FairCurve_Energy::MyGradient [private]
 

math_Vector FairCurve_Energy::MyHessian [private]
 

TColgp_Array1OfXY FairCurve_Energy::MyLinearForm [private]
 

Standard_Integer FairCurve_Energy::MyNbValues [private]
 

Standard_Integer FairCurve_Energy::MyNbVar [protected]
 

Handle_TColgp_HArray1OfPnt2d FairCurve_Energy::MyPoles [protected]
 

TColgp_Array1OfXY FairCurve_Energy::MyQuadForm [private]
 

Standard_Boolean FairCurve_Energy::MyWithAuxValue [protected]
 


The documentation for this class was generated from the following files:
Generated on Mon Aug 25 13:41:43 2008 for OpenCASCADE by  doxygen 1.4.1