Skip to main content

ParamCurve

Trait ParamCurve 

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§

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

Evaluate the curve at parameter t.

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

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

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

Provided Methods§

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

Subdivide into (roughly) halves.

fn start(&self) -> Point

The start point.

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§