pub trait ParamCurveExtrema: ParamCurve {
    // Required method
    fn extrema(&self) -> ArrayVec<f64, MAX_EXTREMA>;

    // Provided methods
    fn extrema_ranges(&self) -> ArrayVec<Range<f64>, { _ }> { ... }
    fn bounding_box(&self) -> Rect { ... }
}
Expand description

A parametrized curve that reports its extrema.

Required Methods§

source

fn extrema(&self) -> ArrayVec<f64, MAX_EXTREMA>

Compute the extrema of the curve.

Only extrema within the interior of the curve count. At most four extrema can be reported, which is sufficient for cubic Béziers.

The extrema should be reported in increasing parameter order.

Provided Methods§

source

fn extrema_ranges(&self) -> ArrayVec<Range<f64>, { _ }>

Return parameter ranges, each of which is monotonic within the range.

source

fn bounding_box(&self) -> Rect

The smallest rectangle that encloses the curve in the range (0..1).

Object Safety§

This trait is not object safe.

Implementors§