OpenCascade.js
API ReferenceModelingDataTKGeomBase

ExtremaPC

OCCT package ExtremaPC: ExtremaPC_BezierCurve, ExtremaPC_BSplineCurve, ExtremaPC_Circle, ExtremaPC_Config, and 13 more bound classes.

ExtremaPC_BezierCurve

Point-BezierCurve extrema computation using grid-based approach.
Computes the extrema between a 3D point and a Bezier curve using a grid-based approach with Newton refinement.
The grid is cached for efficiency when performing multiple queries with the same parameter domain.
The algorithm:

  1. Build grid with (3 * (degree + 1)) samples using GeomGridEval
  2. Linear scan of grid to find candidate intervals (sign changes in F(u))
  3. Newton refinement on each candidate interval
    This approach is simpler and more stable than BVH-based methods, with comparable accuracy for typical Bezier curves.
    The domain is fixed at construction time and the grid is built eagerly for optimal performance with multiple queries.

Constructors(2)

  • Constructor with Bezier curve (uses full curve domain). Grid is built eagerly at construction time.

    Parameters (1)
    • theCurve
      Bezier curve handle
  • constructor(theCurve: Geom_BezierCurve, theDomain: Domain1D): ExtremaPC_BezierCurve

    Constructor with Bezier curve and parameter domain. Grid is built eagerly at construction time for the specified domain.

    Parameters (2)
    • theCurve
      Bezier curve handle
    • theDomain
      parameter domain (fixed for all queries)

Instance methods(6)

  • Value(theU: number): gp_Pnt

    Evaluates point on curve at parameter.

    Parameters (1)
    • theU
      parameter
    Returns

    point on curve

  • IsBounded(): boolean

    Returns true if domain is bounded (subset of curve domain).

  • Domain(): Domain1D

    Returns the domain.

  • Perform(theP: gp_Pnt, theTol: number, theMode: ExtremaPC_SearchMode): ExtremaPC_Result

    Compute extrema between point P and the curve. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for root finding
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing extrema

  • Compute extrema between point P and the curve including endpoints. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for root finding
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing interior + endpoint extrema

  • Returns the Bezier curve.

ExtremaPC_BSplineCurve

Point-BSplineCurve extrema computation using grid-based approach.
Computes the extrema between a 3D point and a BSpline curve using a grid-based approach with Newton refinement.
The grid is cached for efficiency when performing multiple queries with the same parameter domain.
The algorithm:

  1. Build knot-aware grid with 2*(degree + 1) samples per knot span using GeomGridEval
  2. Linear scan of grid to find candidate intervals (sign changes in F(u))
  3. Newton refinement on each candidate interval
    This approach is simpler and more stable than BVH-based methods, with comparable accuracy for typical BSpline curves.
    The domain is fixed at construction time and the grid is built eagerly for optimal performance with multiple queries.

Constructors(2)

  • Constructor with BSpline curve (uses full curve domain). Grid is built eagerly at construction time.

    Parameters (1)
    • theCurve
      BSpline curve handle
  • constructor(theCurve: Geom_BSplineCurve, theDomain: Domain1D): ExtremaPC_BSplineCurve

    Constructor with BSpline curve and parameter domain. Grid is built eagerly at construction time for the specified domain.

    Parameters (2)
    • theCurve
      BSpline curve handle
    • theDomain
      parameter domain (fixed for all queries)

Instance methods(6)

  • Value(theU: number): gp_Pnt

    Evaluates point on curve at parameter.

    Parameters (1)
    • theU
      parameter
    Returns

    point on curve

  • IsBounded(): boolean

    Returns true if domain is bounded (subset of curve domain).

  • Domain(): Domain1D

    Returns the domain.

  • Perform(theP: gp_Pnt, theTol: number, theMode: ExtremaPC_SearchMode): ExtremaPC_Result

    Compute extrema between point P and the curve. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for root finding
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing extrema

  • Compute extrema between point P and the curve including endpoints. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for root finding
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing interior + endpoint extrema

  • Returns the BSpline curve.

ExtremaPC_Circle

Point-Circle extrema computation.
Computes the extrema between a 3D point and a circle. Uses analytical solution via angle computation in the circle plane.
For a circle with center O and radius R, the algorithm:

  1. Projects point P onto the circle plane -> Pp
  2. Computes angle from OPp to find closest/farthest points
    The domain is fixed at construction time for optimal performance. For full circle, construct without domain or with nullopt.

Constructors(2)

  • Constructor with circle geometry (full circle).

    Parameters (1)
    • theCircle
      the circle to compute extrema for
  • constructor(theCircle: gp_Circ, theDomain: Domain1D): ExtremaPC_Circle

    Constructor with circle geometry and parameter domain.

    Parameters (2)
    • theCircle
      the circle to compute extrema for
    • theDomain
      parameter domain in radians (fixed for all queries)

Instance methods(6)

  • Value(theU: number): gp_Pnt

    Evaluates point on circle at parameter.

    Parameters (1)
    • theU
      parameter (radians)
    Returns

    point on circle

  • IsBounded(): boolean

    Returns true if domain is bounded (partial arc).

  • Domain(): Domain1D

    Returns the domain (only valid if IsBounded() is true).

  • Perform(theP: gp_Pnt, theTol: number, theMode: ExtremaPC_SearchMode): ExtremaPC_Result

    Compute extrema between point P and the circle. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for degenerate case detection
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing extrema or InfiniteSolutions status

  • Compute extrema between point P and the circle arc including endpoints. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for degenerate case detection
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing interior + endpoint extrema or InfiniteSolutions status

  • Returns the circle geometry.

ExtremaPC_Curve

Main aggregator for Point-Curve extrema computation.
Provides a unified interface for computing extrema between a 3D point and any type of curve. Uses std::variant with std::visit for efficient curve type dispatch at runtime.
Supports all elementary curve types (analytical solutions):

  • Line, Circle, Ellipse, Hyperbola, Parabola
    And numerical curves (grid-based with Newton refinement):
  • BSpline, Bezier, Offset, and general curves
    Usage example:
ExtremaPC_CurveanExtPC(myAdaptorCurve); constExtremaPC::Result&aResult=anExtPC.Perform(myPoint,1.0e-9); if(aResult.IsDone()) { for(inti=0;i<aResult.NbExt();++i) { doubleaDist=std::sqrt(aResult[i].SquareDistance); gp_PntaPtOnCurve=aResult[i].Point; } }

Constructors(6)

  • Constructor with curve adaptor. Uses the curve's natural parameter bounds as domain.

    Parameters (1)
    • theCurve
      curve adaptor
  • Constructor with transformed curve adaptor. Uses the curve's natural parameter bounds as domain. For elementary curves, uses already-transformed primitives (analytical solver). For BSpline/Bezier, uses inverse-transform optimization with post-processing. For offset/other curves, delegates through Adaptor3d_Curve interface.

    Parameters (1)
    • theCurve
      transformed curve adaptor
  • Constructor with Geom_Curve. For non-trimmed curves, does NOT set domain (uses natural/unbounded behavior). For trimmed curves, uses the trimmed bounds as domain.

    Parameters (1)
    • theCurve
      geometric curve handle
  • constructor(theCurve: GeomAdaptor_Curve, theUMin: number, theUMax: number): ExtremaPC_Curve

    Constructor with curve adaptor and parameter range.

    Parameters (3)
    • theCurve
      curve adaptor
    • theUMin
      lower parameter bound
    • theUMax
      upper parameter bound
  • constructor(theCurve: GeomAdaptor_TransformedCurve, theUMin: number, theUMax: number): ExtremaPC_Curve

    Constructor with transformed curve adaptor and parameter range.

    Parameters (3)
    • theCurve
      transformed curve adaptor
    • theUMin
      lower parameter bound
    • theUMax
      upper parameter bound
  • constructor(theCurve: Geom_Curve, theUMin: number, theUMax: number): ExtremaPC_Curve

    Constructor with Geom_Curve and parameter range. For trimmed curves, intersects input bounds with trimmed bounds.

    Parameters (3)
    • theCurve
      geometric curve handle
    • theUMin
      lower parameter bound
    • theUMax
      upper parameter bound

Instance methods(3)

  • Perform(theP: gp_Pnt, theTol: number, theMode: ExtremaPC_SearchMode): ExtremaPC_Result

    Computes extrema between point P and the curve. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for extrema computation
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing all found extrema

  • Computes extrema between point P and the curve, including endpoints. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for extrema computation
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing interior + endpoint extrema

  • IsInitialized(): boolean

    Returns true if the evaluator is properly initialized.

ExtremaPC_DistanceFunction

Distance function for point-curve extrema computation.
Implements the function F(u) = (C(u) - P) . C'(u) and its derivative F'(u) = C'(u) . C'(u) + (C(u) - P) . C''(u).
The roots of F(u) = 0 correspond to the extrema (local minima and maxima) of the squared distance function D(u) = ||C(u) - P||^2.
This class provides the interface required by MathRoot::FindAllRootsWithDerivative.

Constructors(1)

Instance methods(7)

  • Value(theU: number, theF: number): { returnValue: boolean; theF: number }

    Computes F(u) = (C(u) - P) . C'(u).

    Parameters (2)
    • theU
      parameter value
    • theF
      output: function value
    Returns

    A result object with fields:

    • returnValue: true if computation succeeded
    • theF: output: function value
  • Values(theU: number, theF: number, theDF: number): { returnValue: boolean; theF: number; theDF: number }

    Computes F(u) and F'(u). F(u) = (C(u) - P) . C'(u) F'(u) = C'(u) . C'(u) + (C(u) - P) . C''(u).

    Parameters (3)
    • theU
      parameter value
    • theF
      output: function value
    • theDF
      output: derivative value
    Returns

    A result object with fields:

    • returnValue: true if computation succeeded
    • theF: output: function value
    • theDF: output: derivative value
  • Derivative(theU: number, theDF: number): { returnValue: boolean; theDF: number }

    Computes the derivative F'(u).

    Parameters (2)
    • theU
      parameter value
    • theDF
      output: derivative value
    Returns

    A result object with fields:

    • returnValue: true if computation succeeded
    • theDF: output: derivative value
  • FirstParameter(): number

    Returns the first parameter of the curve.

  • LastParameter(): number

    Returns the last parameter of the curve.

  • Returns the query point.

  • Returns the curve.

ExtremaPC_Ellipse

Point-Ellipse extrema computation.
Computes the extrema between a 3D point and an ellipse. Uses trigonometric equation solving via MathRoot::Trigonometric.
The algorithm:

  1. Projects point P onto the ellipse plane -> Pp
  2. Solves: (B^2 - A^2)cos(u)sin(u) - BYcos(u) + AXsin(u) = 0 where A = major radius, B = minor radius, and (X,Y) are coordinates of Pp in the ellipse local coordinate system.
    The domain is fixed at construction time for optimal performance. For full ellipse, construct without domain or with nullopt.

Constructors(2)

  • Constructor with ellipse geometry (full ellipse).

    Parameters (1)
    • theEllipse
      the ellipse to compute extrema for
  • constructor(theEllipse: gp_Elips, theDomain: Domain1D): ExtremaPC_Ellipse

    Constructor with ellipse geometry and parameter domain.

    Parameters (2)
    • theEllipse
      the ellipse to compute extrema for
    • theDomain
      parameter domain in radians (fixed for all queries)

Instance methods(6)

  • Value(theU: number): gp_Pnt

    Evaluates point on ellipse at parameter.

    Parameters (1)
    • theU
      parameter (radians)
    Returns

    point on ellipse

  • IsBounded(): boolean

    Returns true if domain is bounded (partial arc).

  • Domain(): Domain1D

    Returns the domain (only valid if IsBounded() is true).

  • Perform(theP: gp_Pnt, theTol: number, theMode: ExtremaPC_SearchMode): ExtremaPC_Result

    Compute extrema between point P and the ellipse. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for degenerate case detection
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing extrema or InfiniteSolutions status

  • Compute extrema between point P and the ellipse arc including endpoints. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for degenerate case detection
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing interior + endpoint extrema or InfiniteSolutions status

  • Returns the ellipse geometry.

ExtremaPC_GridEvaluator

Grid-based point-curve extrema computation class.
Provides grid-based extrema finding algorithm with cached state for optimal performance on repeated queries. Used by BSpline, Bezier, Offset, and other curve evaluators.
Algorithm:

  1. Build grid of (parameter, point, D1) from GeomGridEval
  2. Linear scan of grid to find candidate intervals (sign changes in F(u))
  3. Newton refinement on each candidate
  4. Optional endpoint handling
    All temporary vectors are stored as mutable fields and reused via Clear() to avoid repeated heap allocations.

Constructors(1)

Static methods(1)

  • BuildUniformParams(theUMin: number, theUMax: number, theNbSamples: number): math_Vector

    Build uniform parameter grid.

    Parameters (3)
    • theUMin
    • theUMax
    • theNbSamples
    Returns

    math_Vector with 1-based indexing

Instance methods(3)

  • Grid(): any

    Returns the cached grid.

  • Returns mutable reference to the result for post-processing.

  • Perform(theCurve: Adaptor3d_Curve, theP: gp_Pnt, theDomain: Domain1D, theTol: number, theMode: ExtremaPC_SearchMode): ExtremaPC_Result

    Perform extrema computation using cached grid (interior only).

    Parameters (5)
    • theCurve
      curve adaptor
    • theP
      query point
    • theDomain
      parameter domain
    • theTol
      tolerance
    • theMode
      search mode
    Returns

    const reference to result with interior extrema only

ExtremaPC_Hyperbola

Point-Hyperbola extrema computation.
Computes the extrema between a 3D point and a hyperbola. Uses quartic polynomial solving via MathPoly::Quartic with substitution.
The algorithm:

  1. Projects point P onto the hyperbola plane -> Pp
  2. For hyperbola C(u) = (Rcosh(u), rsinh(u)) with major radius R and minor radius r, substitutes v = e^u to convert the transcendental equation to a polynomial: ((R^2 + r^2)/4) * v^4 - ((XR + Yr)/2) * v^3 + ((XR - Yr)/2) * v - ((R^2 + r^2)/4) = 0
  3. Filters positive roots (v > 0) and converts back via u = ln(v)
    The domain is fixed at construction time for optimal performance. For infinite hyperbola, construct without domain or with nullopt.

Constructors(2)

  • Constructor with hyperbola geometry (infinite).

    Parameters (1)
    • theHyperbola
      the hyperbola to compute extrema for
  • constructor(theHyperbola: gp_Hypr, theDomain: Domain1D): ExtremaPC_Hyperbola

    Constructor with hyperbola geometry and parameter domain.

    Parameters (2)
    • theHyperbola
      the hyperbola to compute extrema for
    • theDomain
      parameter domain (fixed for all queries)

Instance methods(6)

  • Value(theU: number): gp_Pnt

    Evaluates point on hyperbola at parameter using cached geometry.

    Parameters (1)
    • theU
      parameter
    Returns

    point on hyperbola

  • IsBounded(): boolean

    Returns true if domain is bounded.

  • Domain(): Domain1D

    Returns the domain (only valid if IsBounded() is true).

  • Perform(theP: gp_Pnt, theTol: number, theMode: ExtremaPC_SearchMode): ExtremaPC_Result

    Compute extrema between point P and the hyperbola. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for duplicate detection
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing extrema

  • Compute extrema between point P and the hyperbola arc including endpoints. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for duplicate detection
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing interior + endpoint extrema

  • Returns the hyperbola geometry.

ExtremaPC_Line

Point-Line extrema computation.
Computes the extremum (closest point) between a 3D point and a line. Uses direct analytical projection via dot product.
For a line defined by origin O and direction D, the closest point to P is at parameter u = (P - O) . D, which gives the minimum distance.
The domain is fixed at construction time for optimal performance. For unbounded line, construct without domain or with nullopt.

Constructors(2)

  • Constructor with line geometry (unbounded).

    Parameters (1)
    • theLine
      the line to compute extrema for
  • constructor(theLine: gp_Lin, theDomain: Domain1D): ExtremaPC_Line

    Constructor with line geometry and parameter domain.

    Parameters (2)
    • theLine
      the line to compute extrema for
    • theDomain
      parameter domain (fixed for all queries)

Instance methods(6)

  • Value(theU: number): gp_Pnt

    Evaluates point on line at parameter.

    Parameters (1)
    • theU
      parameter
    Returns

    point on line

  • IsBounded(): boolean

    Returns true if domain is bounded.

  • Domain(): Domain1D

    Returns the domain (only valid if IsBounded() is true).

  • Perform(theP: gp_Pnt, theTol: number, theMode: ExtremaPC_SearchMode): ExtremaPC_Result

    Compute extrema between point P and the line. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for parameter comparison
    • theMode
      search mode (unused for lines - always returns minimum)
    Returns

    const reference to result containing the extremum

  • Compute extrema between point P and the line segment including endpoints. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for parameter comparison
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing interior + endpoint extrema

  • Returns the line geometry.

ExtremaPC_OffsetCurve

Point-OffsetCurve extrema computation using grid-based approach.
Computes the extrema between a 3D point and an offset curve using a grid-based approach with Newton refinement.
The grid is cached for efficiency when performing multiple queries with the same parameter domain.
The algorithm:

  1. Build uniform grid using GeomGridEval
  2. Linear scan of grid to find candidate intervals (sign changes in F(u))
  3. Newton refinement on each candidate interval
    Offset curves are handled through the Adaptor3d_Curve interface, which provides uniform access to the offset geometry.
    The domain is fixed at construction time and the grid is built eagerly for optimal performance with multiple queries.

Constructors(2)

  • Constructor with curve adaptor (uses full curve domain). Grid is built eagerly at construction time.

    Parameters (1)
    • theCurve
      curve adaptor for offset curve (must remain valid)
  • constructor(theCurve: Adaptor3d_Curve, theDomain: Domain1D): ExtremaPC_OffsetCurve

    Constructor with curve adaptor and parameter domain. Grid is built eagerly at construction time for the specified domain.

    Parameters (2)
    • theCurve
      curve adaptor for offset curve (must remain valid)
    • theDomain
      parameter domain (fixed for all queries)

Instance methods(5)

  • Value(theU: number): gp_Pnt

    Evaluates point on curve at parameter.

    Parameters (1)
    • theU
      parameter
    Returns

    point on curve

  • IsBounded(): boolean

    Returns true if domain is bounded.

  • Domain(): Domain1D

    Returns the domain.

  • Perform(theP: gp_Pnt, theTol: number, theMode: ExtremaPC_SearchMode): ExtremaPC_Result

    Compute extrema between point P and the curve. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for root finding
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing extrema

  • Compute extrema between point P and the curve including endpoints. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for root finding
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing interior + endpoint extrema

ExtremaPC_OtherCurve

Point-Curve extrema computation for general curves using grid-based approach.
Computes the extrema between a 3D point and a general curve using a grid-based approach with Newton refinement.
The grid is cached for efficiency when performing multiple queries with the same parameter domain.
The algorithm:

  1. Build uniform grid using GeomGridEval
  2. Linear scan of grid to find candidate intervals (sign changes in F(u))
  3. Newton refinement on each candidate interval
    This is a fallback implementation that works with any curve type through the Adaptor3d_Curve interface.
    The domain is fixed at construction time and the grid is built eagerly for optimal performance with multiple queries.

Constructors(2)

  • Constructor with curve adaptor (uses full curve domain). Grid is built eagerly at construction time.

    Parameters (1)
    • theCurve
      curve adaptor (must remain valid)
  • constructor(theCurve: Adaptor3d_Curve, theDomain: Domain1D): ExtremaPC_OtherCurve

    Constructor with curve adaptor and parameter domain. Grid is built eagerly at construction time for the specified domain.

    Parameters (2)
    • theCurve
      curve adaptor (must remain valid)
    • theDomain
      parameter domain (fixed for all queries)

Instance methods(5)

  • Value(theU: number): gp_Pnt

    Evaluates point on curve at parameter.

    Parameters (1)
    • theU
      parameter
    Returns

    point on curve

  • IsBounded(): boolean

    Returns true if domain is bounded.

  • Domain(): Domain1D

    Returns the domain.

  • Perform(theP: gp_Pnt, theTol: number, theMode: ExtremaPC_SearchMode): ExtremaPC_Result

    Compute extrema between point P and the curve. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for root finding
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing extrema

  • Compute extrema between point P and the curve including endpoints. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for root finding
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing interior + endpoint extrema

ExtremaPC_Parabola

Point-Parabola extrema computation.
Computes the extrema between a 3D point and a parabola. Uses cubic polynomial solving via MathPoly::Cubic.
The algorithm:

  1. Projects point P onto the parabola plane -> Pp
  2. For parabola C(u) = ((u^2)/(4F), u) with focal length F, solves: (1/(4F)) * u^3 + (2F - X) * u - 2F*Y = 0 where (X, Y) are coordinates of Pp in parabola local frame.
    The domain is fixed at construction time for optimal performance. For infinite parabola, construct without domain or with nullopt.

Constructors(2)

  • Constructor with parabola geometry (infinite).

    Parameters (1)
    • theParabola
      the parabola to compute extrema for
  • constructor(theParabola: gp_Parab, theDomain: Domain1D): ExtremaPC_Parabola

    Constructor with parabola geometry and parameter domain.

    Parameters (2)
    • theParabola
      the parabola to compute extrema for
    • theDomain
      parameter domain (fixed for all queries)

Instance methods(6)

  • Value(theU: number): gp_Pnt

    Evaluates point on parabola at parameter using cached geometry.

    Parameters (1)
    • theU
      parameter
    Returns

    point on parabola

  • IsBounded(): boolean

    Returns true if domain is bounded.

  • Domain(): Domain1D

    Returns the domain (only valid if IsBounded() is true).

  • Perform(theP: gp_Pnt, theTol: number, theMode: ExtremaPC_SearchMode): ExtremaPC_Result

    Compute extrema between point P and the parabola. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for duplicate detection
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing extrema

  • Compute extrema between point P and the parabola arc including endpoints. Uses domain specified at construction time.

    Parameters (3)
    • theP
      query point
    • theTol
      tolerance for duplicate detection
    • theMode
      search mode (MinMax, Min, or Max)
    Returns

    const reference to result containing interior + endpoint extrema

  • Returns the parabola geometry.