Template class for computing extremal distance function between a point and a curve. Searches for a parameter value u such that dist(P, C(u)) passes through an extremum. Inherits from math_FunctionWithDerivative and is used by math_FunctionRoot and math_FunctionRoots algorithms.
More...
|
| | Extrema_GFuncExtPC () |
| | Default constructor.
|
| | Extrema_GFuncExtPC (const ThePoint &theP, const TheCurve &theC) |
| | Constructor with point and curve initialization.
|
| void | Initialize (const TheCurve &theC) |
| | Sets the curve field.
|
| void | SetPoint (const ThePoint &theP) |
| | Sets the point field.
|
| bool | Value (const double theU, double &theF) override |
| | Calculation of F(u).
|
| bool | Derivative (const double theU, double &theDF) override |
| | Calculation of F'(u).
|
| bool | Values (const double theU, double &theF, double &theDF) override |
| | Calculation of F(u) and F'(u).
|
| int | GetStateNumber () override |
| | Save the found extremum.
|
| int | NbExt () const |
| | Return the number of found extrema.
|
| double | SquareDistance (const int theN) const |
| | Returns the Nth square distance.
|
| bool | IsMin (const int theN) const |
| | Shows if the Nth distance is a minimum.
|
| const ThePOnC & | Point (const int theN) const |
| | Returns the Nth extremum point.
|
| void | SubIntervalInitialize (const double theUfirst, const double theUlast) |
| | Determines boundaries of subinterval for root finding.
|
| double | SearchOfTolerance () |
| | Computes a tolerance value. If 1st derivative of curve |D1| < Tol, it is considered D1=0.
|
| | ~math_FunctionWithDerivative () override |
| virtual | ~math_Function ()=default |
| | Virtual destructor, for safe inheritance.
|
template<typename
TheCurve, typename
TheCurveTool, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSeqPOnC>
class Extrema_GFuncExtPC< TheCurve, TheCurveTool, ThePOnC, ThePoint, TheVector, TheSeqPOnC >
Template class for computing extremal distance function between a point and a curve. Searches for a parameter value u such that dist(P, C(u)) passes through an extremum. Inherits from math_FunctionWithDerivative and is used by math_FunctionRoot and math_FunctionRoots algorithms.
If D1c and D2c are the first and second derivatives: F(u) = (C(u)-P).D1c(u) / ||D1c|| DF(u) = ||D1c|| + (C(u)-P).D2c(u)/||D1c|| - F(u)*D2c.D1c/||D1c||^2
- Template Parameters
-