Trait ParamCurve

Source
pub trait ParamCurve: Sized {
    // Required methods
    fn eval(&self, t: f64) -> Point;
    fn subsegment(&self, range: Range<f64>) -> Self;

    // Provided methods
    fn subdivide(&self) -> (Self, Self) { ... }
    fn start(&self) -> Point { ... }
    fn end(&self) -> Point { ... }
}
Expand description

A curve parameterized by a scalar.

If the result is interpreted as a point, this represents a curve. But the result can be interpreted as a vector as well.

Required Methods§

Source

fn eval(&self, t: f64) -> Point

Evaluate the curve at parameter t.

Generally t is in the range [0..1].

Source

fn subsegment(&self, range: Range<f64>) -> Self

Get a subsegment of the curve for the given parameter range.

Provided Methods§

Source

fn subdivide(&self) -> (Self, Self)

Subdivide into (roughly) halves.

Source

fn start(&self) -> Point

The start point.

Source

fn end(&self) -> Point

The end point.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§