Trait kurbo::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 parametrized 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.

Object Safety§

This trait is not object safe.

Implementors§