pub trait Basis<T: Float> {
    const NAME: &'static str;
    const STEP: usize;
    const MATRIX: [[T; 4]; 4];
    const EXTRA_KNOTS: usize;
}
Expand description

A cubic spline basis. Some basis types require a particular number of knot values.

Bezier splines require 4×n+3 values.

Hermite splines require 4×n+2 values.

Power splines require 4×n+4 values.

B-spline, CatmullRom and Linear splines may use any number of values with n≥4.

Required Associated Constants§

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Basis<f32> for BSpline

source§

const NAME: &'static str = "B-spline"

source§

const STEP: usize = 1usize

source§

const MATRIX: [[f32; 4]; 4] = _

source§

const EXTRA_KNOTS: usize = 0usize

source§

impl Basis<f32> for Bezier

source§

const NAME: &'static str = "Bezier"

source§

const STEP: usize = 3usize

source§

const MATRIX: [[f32; 4]; 4] = _

source§

const EXTRA_KNOTS: usize = 3usize

source§

impl Basis<f32> for CatmullRom

source§

const NAME: &'static str = "Catmull-Rom"

source§

const STEP: usize = 1usize

source§

const MATRIX: [[f32; 4]; 4] = _

source§

const EXTRA_KNOTS: usize = 0usize

source§

impl Basis<f32> for Hermite

source§

const NAME: &'static str = "Hermite"

source§

const STEP: usize = 2usize

source§

const MATRIX: [[f32; 4]; 4] = _

source§

const EXTRA_KNOTS: usize = 2usize

source§

impl Basis<f32> for Linear

source§

const NAME: &'static str = "Linear"

source§

const STEP: usize = 1usize

source§

const MATRIX: [[f32; 4]; 4] = _

source§

const EXTRA_KNOTS: usize = 0usize

source§

impl Basis<f32> for Power

source§

const NAME: &'static str = "Power"

source§

const STEP: usize = 4usize

source§

const MATRIX: [[f32; 4]; 4] = _

source§

const EXTRA_KNOTS: usize = 4usize

source§

impl Basis<f64> for BSpline

source§

const NAME: &'static str = "B-spline"

source§

const STEP: usize = 1usize

source§

const MATRIX: [[f64; 4]; 4] = _

source§

const EXTRA_KNOTS: usize = 0usize

source§

impl Basis<f64> for Bezier

source§

const NAME: &'static str = "Bezier"

source§

const STEP: usize = 3usize

source§

const MATRIX: [[f64; 4]; 4] = _

source§

const EXTRA_KNOTS: usize = 3usize

source§

impl Basis<f64> for CatmullRom

source§

const NAME: &'static str = "Catmull-Rom"

source§

const STEP: usize = 1usize

source§

const MATRIX: [[f64; 4]; 4] = _

source§

const EXTRA_KNOTS: usize = 0usize

source§

impl Basis<f64> for Hermite

source§

const NAME: &'static str = "Hermite"

source§

const STEP: usize = 2usize

source§

const MATRIX: [[f64; 4]; 4] = _

source§

const EXTRA_KNOTS: usize = 2usize

source§

impl Basis<f64> for Linear

source§

const NAME: &'static str = "Linear"

source§

const STEP: usize = 1usize

source§

const MATRIX: [[f64; 4]; 4] = _

source§

const EXTRA_KNOTS: usize = 0usize

source§

impl Basis<f64> for Power

source§

const NAME: &'static str = "Power"

source§

const STEP: usize = 4usize

source§

const MATRIX: [[f64; 4]; 4] = _

source§

const EXTRA_KNOTS: usize = 4usize