Trait SampleDerivative

Source
pub trait SampleDerivative<T>: Curve<T>
where T: HasTangent,
{ // Required method fn sample_with_derivative_unchecked(&self, t: f32) -> WithDerivative<T>; // Provided methods fn sample_with_derivative(&self, t: f32) -> Option<WithDerivative<T>> { ... } fn sample_with_derivative_clamped(&self, t: f32) -> WithDerivative<T> { ... } }
Expand description

A trait for curves that can sample derivatives in addition to values.

Types that implement this trait automatically implement CurveWithDerivative; the curve produced by with_derivative uses the sampling defined in the trait implementation.

Required Methods§

Source

fn sample_with_derivative_unchecked(&self, t: f32) -> WithDerivative<T>

Sample this curve at the parameter value t, extracting the associated value in addition to its derivative. This is the unchecked version of sampling, which should only be used if the sample time t is already known to lie within the curve’s domain.

See Curve::sample_unchecked for more information.

Provided Methods§

Source

fn sample_with_derivative(&self, t: f32) -> Option<WithDerivative<T>>

Sample this curve’s value and derivative at the parameter value t, returning None if the point is outside of the curve’s domain.

Source

fn sample_with_derivative_clamped(&self, t: f32) -> WithDerivative<T>

Sample this curve’s value and derivative at the parameter value t, clamping t to lie inside the domain of the curve.

Implementors§

Source§

impl<P> SampleDerivative<P> for CubicCurve<P>
where P: VectorSpace,

Source§

impl<P> SampleDerivative<P> for CubicSegment<P>
where P: VectorSpace,

Source§

impl<P> SampleDerivative<P> for RationalCurve<P>
where P: VectorSpace,

Source§

impl<P> SampleDerivative<P> for RationalSegment<P>
where P: VectorSpace,

Source§

impl<S, T, C, D> SampleDerivative<(S, T)> for ZipCurve<S, T, C, D>

Source§

impl<T> SampleDerivative<T> for ConstantCurve<T>
where T: HasTangent + Clone,

Source§

impl<T, C> SampleDerivative<(f32, T)> for GraphCurve<T, C>
where T: HasTangent, C: SampleDerivative<T>,

Source§

impl<T, C> SampleDerivative<T> for ForeverCurve<T, C>
where T: HasTangent, C: SampleDerivative<T>,

Source§

impl<T, C> SampleDerivative<T> for LinearReparamCurve<T, C>
where T: HasTangent, C: SampleDerivative<T>,

Source§

impl<T, C> SampleDerivative<T> for PingPongCurve<T, C>
where T: HasTangent, C: SampleDerivative<T>,

Source§

impl<T, C> SampleDerivative<T> for RepeatCurve<T, C>
where T: HasTangent, C: SampleDerivative<T>,

Source§

impl<T, C> SampleDerivative<T> for ReverseCurve<T, C>
where T: HasTangent, C: SampleDerivative<T>,

Source§

impl<T, C, D> SampleDerivative<T> for ChainCurve<T, C, D>

Source§

impl<T, C, D> SampleDerivative<T> for ContinuationCurve<T, C, D>

Source§

impl<T, C, D> SampleDerivative<T> for CurveReparamCurve<T, C, D>

Source§

impl<T, C, D> SampleDerivative<T> for D
where T: HasTangent, C: SampleDerivative<T> + ?Sized, D: Deref<Target = C>,