Trait kurbo::ParamCurve[][src]

pub trait ParamCurve: Sized {
    fn eval(&self, t: f64) -> Point;
fn subsegment(&self, range: Range<f64>) -> Self; fn subdivide(&self) -> (Self, Self) { ... }
fn start(&self) -> Point { ... }
fn end(&self) -> Point { ... } }

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

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

Evaluate the curve at parameter t.

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

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

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

Loading content...

Provided methods

fn subdivide(&self) -> (Self, Self)[src]

Subdivide into (roughly) halves.

fn start(&self) -> Point[src]

The start point.

fn end(&self) -> Point[src]

The end point.

Loading content...


impl ParamCurve for PathSeg[src]

impl ParamCurve for ConstPoint[src]

impl ParamCurve for CubicBez[src]

fn subdivide(&self) -> (CubicBez, CubicBez)[src]

Subdivide into halves, using de Casteljau.

impl ParamCurve for Line[src]

impl ParamCurve for QuadBez[src]

fn subdivide(&self) -> (QuadBez, QuadBez)[src]

Subdivide into halves, using de Casteljau.

Loading content...