Struct lyon_bezier::CubicBezierSegment
[−]
[src]
pub struct CubicBezierSegment { pub from: Vec2, pub ctrl1: Vec2, pub ctrl2: Vec2, pub to: Vec2, }
A 2d curve segment defined by four points: the beginning of the segment, two control points and the end of the segment.
The curve is defined by equation:²
∀ t ∈ [0..1], P(t) = (1 - t)³ * from + 3 * (1 - t)² * t * ctrl1 + 3 * t² * (1 - t) * ctrl2 + t³ * to
Fields
from: Vec2
ctrl1: Vec2
ctrl2: Vec2
to: Vec2
Methods
impl CubicBezierSegment
[src]
fn sample(&self, t: f32) -> Vec2
[−]
Sample the curve at t (expecting t between 0 and 1).
fn split(&self, t: f32) -> (CubicBezierSegment, CubicBezierSegment)
[−]
Split this curve into two sub-curves.
fn before_split(&self, t: f32) -> CubicBezierSegment
[−]
Return the curve before the split point.
fn after_split(&self, t: f32) -> CubicBezierSegment
[−]
Return the curve after the split point.
fn flattening_iter(&self, tolerance: f32) -> CubicFlatteningIter
[−]
Returns the flattened representation of the curve as an iterator, starting after the current point.
fn flattened_for_each<F: FnMut(Point)>(&self, tolerance: f32, call_back: &mut F)
[−]
Iterates through the curve invoking a callback at each point.
Trait Implementations
impl Copy for CubicBezierSegment
[src]
impl Clone for CubicBezierSegment
[src]
fn clone(&self) -> CubicBezierSegment
[−]
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