Open CASCADE Technology  7.3.0
Public Member Functions | Protected Member Functions

FairCurve_EnergyOfMVC Class Reference

Energy Criterium to minimize in MinimalVariationCurve. More...

#include <FairCurve_EnergyOfMVC.hxx>

Inheritance diagram for FairCurve_EnergyOfMVC:
Inheritance graph
[legend]

Public Member Functions

 FairCurve_EnergyOfMVC (const Standard_Integer BSplOrder, const Handle< TColStd_HArray1OfReal > &FlatKnots, const Handle< TColgp_HArray1OfPnt2d > &Poles, const Standard_Integer ContrOrder1, const Standard_Integer ContrOrder2, const FairCurve_BattenLaw &Law, const Standard_Real PhysicalRatio, const Standard_Real LengthSliding, const Standard_Boolean FreeSliding=Standard_True, const Standard_Real Angle1=0, const Standard_Real Angle2=0, const Standard_Real Curvature1=0, const Standard_Real Curvature2=0)
 Angles corresspond to the Ox axis. More...
 
Standard_Real LengthSliding () const
 return the lengthSliding = P1P2 + Sliding More...
 
FairCurve_AnalysisCode Status () const
 return the status More...
 
virtual Standard_Boolean Variable (math_Vector &X) const override
 compute the variables <X> wich correspond with the field <MyPoles> More...
 
- Public Member Functions inherited from FairCurve_Energy
virtual Standard_Integer NbVariables () const override
 returns the number of variables of the energy. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
const Handle< TColgp_HArray1OfPnt2d > & Poles () const
 return the poles More...
 
- Public Member Functions inherited from math_MultipleVarFunction
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. More...
 
virtual ~math_MultipleVarFunction ()
 

Protected Member Functions

virtual void ComputePoles (const math_Vector &X) override
 compute the poles wich correspond with the variable X More...
 
virtual Standard_Boolean Compute (const Standard_Integer DerivativeOrder, math_Vector &Result) override
 compute the energy in intermediat format More...
 
- Protected Member Functions inherited from 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)
 Angles corresspond to the Ox axis ConstrOrder1(2) can be equal to 0, 1 or 2. More...
 
void Gradient1 (const math_Vector &TheVector, math_Vector &G)
 It is use internaly to make the Gradient Vector <G> More...
 
void Hessian1 (const math_Vector &TheVector, math_Matrix &H)
 It is use internaly to make the Hessian Matrix <H> More...
 
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 More...
 
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 More...
 

Additional Inherited Members

- Protected Attributes inherited from FairCurve_Energy
Handle< TColgp_HArray1OfPnt2d > MyPoles
 
Standard_Integer MyContrOrder1
 
Standard_Integer MyContrOrder2
 
Standard_Boolean MyWithAuxValue
 
Standard_Integer MyNbVar
 

Detailed Description

Energy Criterium to minimize in MinimalVariationCurve.

Constructor & Destructor Documentation

◆ FairCurve_EnergyOfMVC()

FairCurve_EnergyOfMVC::FairCurve_EnergyOfMVC ( const Standard_Integer  BSplOrder,
const Handle< TColStd_HArray1OfReal > &  FlatKnots,
const Handle< TColgp_HArray1OfPnt2d > &  Poles,
const Standard_Integer  ContrOrder1,
const Standard_Integer  ContrOrder2,
const FairCurve_BattenLaw Law,
const Standard_Real  PhysicalRatio,
const Standard_Real  LengthSliding,
const Standard_Boolean  FreeSliding = Standard_True,
const Standard_Real  Angle1 = 0,
const Standard_Real  Angle2 = 0,
const Standard_Real  Curvature1 = 0,
const Standard_Real  Curvature2 = 0 
)

Angles corresspond to the Ox axis.

Member Function Documentation

◆ Compute()

virtual Standard_Boolean FairCurve_EnergyOfMVC::Compute ( const Standard_Integer  DerivativeOrder,
math_Vector Result 
)
overrideprotectedvirtual

compute the energy in intermediat format

Implements FairCurve_Energy.

◆ ComputePoles()

virtual void FairCurve_EnergyOfMVC::ComputePoles ( const math_Vector X)
overrideprotectedvirtual

compute the poles wich correspond with the variable X

Reimplemented from FairCurve_Energy.

◆ LengthSliding()

Standard_Real FairCurve_EnergyOfMVC::LengthSliding ( ) const

return the lengthSliding = P1P2 + Sliding

◆ Status()

FairCurve_AnalysisCode FairCurve_EnergyOfMVC::Status ( ) const

return the status

◆ Variable()

virtual Standard_Boolean FairCurve_EnergyOfMVC::Variable ( math_Vector X) const
overridevirtual

compute the variables <X> wich correspond with the field <MyPoles>

Reimplemented from FairCurve_Energy.


The documentation for this class was generated from the following file: