Open CASCADE Technology 7.8.0
|
#include <BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox.hxx>
Public Member Functions | |
BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox (const BRepApprox_TheMultiLineOfApprox &SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle< AppParCurves_HArray1OfConstraintCouple > &TheConstraints, const math_Vector &Parameters, const TColStd_Array1OfReal &Knots, const TColStd_Array1OfInteger &Mults, const Standard_Integer NbPol) | |
initializes the fields of the function. The approximating curve has <NbPol> control points. | |
Standard_Integer | NbVariables () const |
returns the number of variables of the function. It corresponds to the number of MultiPoints. | |
Standard_Boolean | Value (const math_Vector &X, Standard_Real &F) |
this method computes the new approximation of the MultiLine SSP and calculates F = sum (||Pui - Bi*Pi||2) for each point of the MultiLine. | |
Standard_Boolean | Gradient (const math_Vector &X, math_Vector &G) |
returns the gradient G of the sum above for the parameters Xi. | |
Standard_Boolean | Values (const math_Vector &X, Standard_Real &F, math_Vector &G) |
returns the value F=sum(||Pui - Bi*Pi||)2. returns the value G = grad(F) for the parameters Xi. | |
const math_Vector & | NewParameters () const |
returns the new parameters of the MultiLine. | |
AppParCurves_MultiBSpCurve | CurveValue () |
returns the MultiBSpCurve approximating the set after computing the value F or Grad(F). | |
Standard_Real | Error (const Standard_Integer IPoint, const Standard_Integer CurveIndex) |
returns the distance between the MultiPoint of range IPoint and the curve CurveIndex. | |
Standard_Real | MaxError3d () const |
returns the maximum distance between the points and the MultiBSpCurve. | |
Standard_Real | MaxError2d () const |
returns the maximum distance between the points and the MultiBSpCurve. | |
const math_Matrix & | FunctionMatrix () const |
returns the function matrix used to approximate the multiline. | |
const math_Matrix & | DerivativeFunctionMatrix () const |
returns the derivative function matrix used to approximate the multiline. | |
const math_IntegerVector & | Index () const |
Returns the indexes of the first non null values of A and DA. The values are non null from Index(ieme point) +1 to Index(ieme point) + degree +1. | |
AppParCurves_Constraint | FirstConstraint (const Handle< AppParCurves_HArray1OfConstraintCouple > &TheConstraints, const Standard_Integer FirstPoint) const |
AppParCurves_Constraint | LastConstraint (const Handle< AppParCurves_HArray1OfConstraintCouple > &TheConstraints, const Standard_Integer LastPoint) const |
void | SetFirstLambda (const Standard_Real l1) |
void | SetLastLambda (const Standard_Real l2) |
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. | |
virtual | ~math_MultipleVarFunction () |
Protected Member Functions | |
void | Perform (const math_Vector &X) |
this method is used each time Value or Gradient is needed. | |
BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox::BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox | ( | const BRepApprox_TheMultiLineOfApprox & | SSP, |
const Standard_Integer | FirstPoint, | ||
const Standard_Integer | LastPoint, | ||
const Handle< AppParCurves_HArray1OfConstraintCouple > & | TheConstraints, | ||
const math_Vector & | Parameters, | ||
const TColStd_Array1OfReal & | Knots, | ||
const TColStd_Array1OfInteger & | Mults, | ||
const Standard_Integer | NbPol | ||
) |
initializes the fields of the function. The approximating curve has <NbPol> control points.
AppParCurves_MultiBSpCurve BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox::CurveValue | ( | ) |
returns the MultiBSpCurve approximating the set after computing the value F or Grad(F).
const math_Matrix & BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox::DerivativeFunctionMatrix | ( | ) | const |
returns the derivative function matrix used to approximate the multiline.
Standard_Real BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox::Error | ( | const Standard_Integer | IPoint, |
const Standard_Integer | CurveIndex | ||
) |
returns the distance between the MultiPoint of range IPoint and the curve CurveIndex.
AppParCurves_Constraint BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox::FirstConstraint | ( | const Handle< AppParCurves_HArray1OfConstraintCouple > & | TheConstraints, |
const Standard_Integer | FirstPoint | ||
) | const |
const math_Matrix & BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox::FunctionMatrix | ( | ) | const |
returns the function matrix used to approximate the multiline.
|
virtual |
returns the gradient G of the sum above for the parameters Xi.
Implements math_MultipleVarFunctionWithGradient.
const math_IntegerVector & BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox::Index | ( | ) | const |
Returns the indexes of the first non null values of A and DA. The values are non null from Index(ieme point) +1 to Index(ieme point) + degree +1.
AppParCurves_Constraint BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox::LastConstraint | ( | const Handle< AppParCurves_HArray1OfConstraintCouple > & | TheConstraints, |
const Standard_Integer | LastPoint | ||
) | const |
Standard_Real BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox::MaxError2d | ( | ) | const |
returns the maximum distance between the points and the MultiBSpCurve.
Standard_Real BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox::MaxError3d | ( | ) | const |
returns the maximum distance between the points and the MultiBSpCurve.
|
virtual |
returns the number of variables of the function. It corresponds to the number of MultiPoints.
Implements math_MultipleVarFunctionWithGradient.
const math_Vector & BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox::NewParameters | ( | ) | const |
returns the new parameters of the MultiLine.
|
protected |
this method is used each time Value or Gradient is needed.
void BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox::SetFirstLambda | ( | const Standard_Real | l1 | ) |
void BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox::SetLastLambda | ( | const Standard_Real | l2 | ) |
|
virtual |
this method computes the new approximation of the MultiLine SSP and calculates F = sum (||Pui - Bi*Pi||2) for each point of the MultiLine.
Implements math_MultipleVarFunctionWithGradient.
|
virtual |
returns the value F=sum(||Pui - Bi*Pi||)2. returns the value G = grad(F) for the parameters Xi.
Implements math_MultipleVarFunctionWithGradient.