Struct nbez::NBez
[−]
[src]
pub struct NBez<F, P = Point2d<F>, C = Vec<P>> where F: Float, P: Point<F>, C: AsRef<[P]> + AsMut<[P]> {
// some fields omitted
}
An n-order bezier curve. The from_slice
, split
, and split_unbounded
functions currently do not work.
Methods
impl<F, P, C> NBez<F, P, C> where F: Float, P: Point<F>, C: AsRef<[P]> + AsMut<[P]>
[src]
fn from_container(points: C) -> NBez<F, P, C>
fn unwrap(self) -> C
Trait Implementations
impl<F: Clone, P: Clone, C: Clone> Clone for NBez<F, P, C> where F: Float, P: Point<F>, C: AsRef<[P]> + AsMut<[P]>
[src]
fn clone(&self) -> NBez<F, P, C>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl<F, P, C> From<C> for NBez<F, P, C> where F: Float, P: Point<F>, C: AsRef<[P]> + AsMut<[P]>
[src]
impl<F, P, C> BezCurve<F> for NBez<F, P, C> where F: Float, P: Point<F>, C: AsRef<[P]> + AsMut<[P]>
[src]
type Point = P
type Elevated = NBez<F, P, Vec<P>>
fn from_slice(_: &[P]) -> Option<NBez<F, P, C>>
Currently non-functional; returns None
fn interp_unbounded(&self, t: F) -> P
Perform interpolation on the curve with no range bounds
fn slope_unbounded(&self, t: F) -> P::Vector
Get the slope for the given t
with no range bounds
fn elevate(&self) -> NBez<F, P, Vec<P>>
Elevate the curve order, getting a curve that is one order higher but gives the same results upon interpolation Read more
fn split(&self, _: F) -> Option<(NBez<F, P, C>, NBez<F, P, C>)>
Currently non-functional; returns None
fn split_unbounded(&self, _: F) -> (NBez<F, P, C>, NBez<F, P, C>)
Currently non-functional; panics with unimplemented
fn order(&self) -> usize
Gets the order of the curve
fn interp(&self, t: F) -> Option<Self::Point>
Perform interpolation on the curve for the given t
, bounded on 0.0
to 1.0
inclusive. Returns None
if t
is not within bounds. Read more
fn slope(&self, t: F) -> Option<Self::Point::Vector>
Get the slope for the given t
, bounded on 0.0
to 1.0
inclusive. Returns None
if t
is not within bounds. Read more
fn interp_iter<'a>(&'a self, samples: u32) -> InterpIter<'a, F, Self>
Get an iterator over the interpolated values of this curve, splitting the curve into the given number of samples. Read more
impl<F, P, C> AsRef<C> for NBez<F, P, C> where F: Float, P: Point<F>, C: AsRef<[P]> + AsMut<[P]>
[src]
fn as_ref(&self) -> &C
Performs the conversion.
impl<F, P, C> AsMut<C> for NBez<F, P, C> where F: Float, P: Point<F>, C: AsRef<[P]> + AsMut<[P]>
[src]
fn as_mut(&mut self) -> &mut C
Performs the conversion.