![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
Energy Criterium to minimize in Batten. More...
#include <FairCurve_EnergyOfBatten.hxx>

Public Member Functions | |
| FairCurve_EnergyOfBatten (const int BSplOrder, const occ::handle< NCollection_HArray1< double > > &FlatKnots, const occ::handle< NCollection_HArray1< gp_Pnt2d > > &Poles, const int ContrOrder1, const int ContrOrder2, const FairCurve_BattenLaw &Law, const double LengthSliding, const bool FreeSliding=true, const double Angle1=0, const double Angle2=0) | |
| Angles correspond to the Ox axis. | |
| double | LengthSliding () const |
| return the lengthSliding = P1P2 + Sliding | |
| FairCurve_AnalysisCode | Status () const |
| return the status | |
| bool | Variable (math_Vector &X) const override |
| compute the variables <X> which correspond with the field <MyPoles> | |
Public Member Functions inherited from FairCurve_Energy | |
| int | NbVariables () const override |
| returns the number of variables of the energy. | |
| bool | Value (const math_Vector &X, double &E) override |
| computes the values of the Energys E for the variable <X>. Returns True if the computation was done successfully, False otherwise. | |
| bool | 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. | |
| bool | Values (const math_Vector &X, double &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. | |
| bool | Values (const math_Vector &X, double &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. | |
| const occ::handle< NCollection_HArray1< gp_Pnt2d > > & | Poles () const |
| return the poles | |
Public Member Functions inherited from math_MultipleVarFunction | |
| virtual int | 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 | |
| void | ComputePoles (const math_Vector &X) override |
| compute the poles which correspond with the variable X | |
| bool | Compute (const int DerivativeOrder, math_Vector &Result) override |
| compute the energy in intermediate format | |
Protected Member Functions inherited from FairCurve_Energy | |
| FairCurve_Energy (const occ::handle< NCollection_HArray1< gp_Pnt2d > > &Poles, const int ConstrOrder1, const int ConstrOrder2, const bool WithAuxValue=false, const double Angle1=0, const double Angle2=0, const int Degree=2, const double Curvature1=0, const double 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> | |
| int | Indice (const int i, const int j) const |
| void | ComputePolesG1 (const int Side, const double Lambda, const gp_Pnt2d &P1, gp_Pnt2d &P2) const |
| compute the pole which depend of variables and G1 constraint | |
| void | ComputePolesG2 (const int Side, const double Lambda, const double Rho, const gp_Pnt2d &P1, gp_Pnt2d &P2) const |
| compute the pole which depend of variables and G2 constraint | |
Additional Inherited Members | |
Protected Attributes inherited from FairCurve_Energy | |
| occ::handle< NCollection_HArray1< gp_Pnt2d > > | MyPoles |
| int | MyContrOrder1 |
| int | MyContrOrder2 |
| bool | MyWithAuxValue |
| int | MyNbVar |
Energy Criterium to minimize in Batten.
| FairCurve_EnergyOfBatten::FairCurve_EnergyOfBatten | ( | const int | BSplOrder, |
| const occ::handle< NCollection_HArray1< double > > & | FlatKnots, | ||
| const occ::handle< NCollection_HArray1< gp_Pnt2d > > & | Poles, | ||
| const int | ContrOrder1, | ||
| const int | ContrOrder2, | ||
| const FairCurve_BattenLaw & | Law, | ||
| const double | LengthSliding, | ||
| const bool | FreeSliding = true, | ||
| const double | Angle1 = 0, | ||
| const double | Angle2 = 0 ) |
Angles correspond to the Ox axis.
|
overrideprotectedvirtual |
compute the energy in intermediate format
Implements FairCurve_Energy.
|
overrideprotectedvirtual |
compute the poles which correspond with the variable X
Reimplemented from FairCurve_Energy.
| double FairCurve_EnergyOfBatten::LengthSliding | ( | ) | const |
return the lengthSliding = P1P2 + Sliding
| FairCurve_AnalysisCode FairCurve_EnergyOfBatten::Status | ( | ) | const |
return the status
|
overridevirtual |
compute the variables <X> which correspond with the field <MyPoles>
Reimplemented from FairCurve_Energy.