DEFINE_STANDARD_ALLOC
+ //! initializes the fields of the function. The approximating
+ //! curve has the desired degree Deg.
Standard_EXPORT AppDef_ParFunctionOfMyGradientbisOfBSplineCompute(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const math_Vector& Parameters, const Standard_Integer Deg);
+ //! returns the number of variables of the function. It
+ //! corresponds to the number of MultiPoints.
Standard_EXPORT Standard_Integer NbVariables() const;
+ //! 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_EXPORT Standard_Boolean Value (const math_Vector& X, Standard_Real& F);
+ //! returns the gradient G of the sum above for the
+ //! parameters Xi.
Standard_EXPORT Standard_Boolean Gradient (const math_Vector& X, math_Vector& G);
+ //! returns the value F=sum(||Pui - Bi*Pi||)2.
+ //! returns the value G = grad(F) for the parameters Xi.
Standard_EXPORT Standard_Boolean Values (const math_Vector& X, Standard_Real& F, math_Vector& G);
+ //! returns the new parameters of the MultiLine.
Standard_EXPORT const math_Vector& NewParameters() const;
+ //! returns the MultiCurve approximating the set after
+ //! computing the value F or Grad(F).
Standard_EXPORT const AppParCurves_MultiCurve& CurveValue();
+ //! returns the distance between the MultiPoint of range
+ //! IPoint and the curve CurveIndex.
Standard_EXPORT Standard_Real Error (const Standard_Integer IPoint, const Standard_Integer CurveIndex) const;
+ //! returns the maximum distance between the points
+ //! and the MultiCurve.
Standard_EXPORT Standard_Real MaxError3d() const;
+ //! returns the maximum distance between the points
+ //! and the MultiCurve.
Standard_EXPORT Standard_Real MaxError2d() const;
Standard_EXPORT AppParCurves_Constraint FirstConstraint (const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const Standard_Integer FirstPoint) const;
protected:
+ //! this method is used each time Value or Gradient is
+ //! needed.
Standard_EXPORT void Perform (const math_Vector& X);