Struct nbez::Bez4o
[−]
[src]
pub struct Bez4o<F, P = Point2d<F>> where F: Float, P: Point<F> {
pub start: P,
pub ctrl0: P,
pub ctrl1: P,
pub ctrl2: P,
pub end: P,
// some fields omitted
}
Order 4 bezier curve
Fields
start: P
ctrl0: P
ctrl1: P
ctrl2: P
end: P
Methods
impl<F, P> Bez4o<F, P> where F: Float, P: Point<F>
[src]
fn new(start: P, ctrl0: P, ctrl1: P, ctrl2: P, end: P) -> Bez4o<F, P>
Create a new bezier curve, with each field of this function corresponding to the similarly-named point on the curve.
Trait Implementations
impl<F: Copy, P: Copy> Copy for Bez4o<F, P> where F: Float, P: Point<F>
[src]
impl<F: Clone, P: Clone> Clone for Bez4o<F, P> where F: Float, P: Point<F>
[src]
fn clone(&self) -> Bez4o<F, P>
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: Debug, P: Debug> Debug for Bez4o<F, P> where F: Float, P: Point<F>
[src]
impl<F, P> BezCurve<F> for Bez4o<F, P> where P: Point<F>, F: Float
[src]
type Point = P
type Elevated = Bez5o<F, P>
fn from_slice(slice: &[P]) -> Option<Bez4o<F, P>>
Attempt to create a curve from a slice. Fails if the slice's length does not match the curve's order + 1. Read more
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) -> Bez5o<F, P>
Elevate the curve order, getting a curve that is one order higher but gives the same results upon interpolation Read more
fn split_unbounded(&self, t: F) -> (Bez4o<F, P>, Bez4o<F, P>)
Split the curve with no range bounds
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 split(&self, t: F) -> Option<(Self, Self)>
Split the curve at 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> OrderStatic for Bez4o<F, P> where F: Float, P: Point<F>
[src]
fn order_static() -> usize
Gets the compiletime-known curve order.