pub struct Curve(pub [f64; 6]);Expand description
A bezier curve.
For an absolute, command
"C x1 y1 x2 y2 x y"
Or, for a relative command
"c dx1 dy1 dx2 dy2 dx, dy"
The point [x y] specifies where the curve should end.
The points [x1 y1] and [x2 y2] are the control points. The former being for controlling the
start of the curve and the latter controlling the end.
Tuple Fields§
§0: [f64; 6]Implementations§
Source§impl Curve
impl Curve
Sourcepub fn smooth_bezier_by_args<'a>(
prev: &'a Position,
item: &'a Position,
) -> Option<Self>
pub fn smooth_bezier_by_args<'a>( prev: &'a Position, item: &'a Position, ) -> Option<Self>
Returns a curve based on a bezier commands
Sourcepub fn is_convex(&self) -> bool
pub fn is_convex(&self) -> bool
Returns whether a curve is convex
A curve is convex when the middle of the curve’s line is below the curve’s midpoint
Sourcepub fn is_arc(&self, circle: &Circle, make_arcs: &MakeArcs, error: f64) -> bool
pub fn is_arc(&self, circle: &Circle, make_arcs: &MakeArcs, error: f64) -> bool
Returns whether a curve is an arc of a circle
Sourcepub fn is_arc_prev(
&self,
circle: &Circle,
make_arcs: &MakeArcs,
error: f64,
) -> bool
pub fn is_arc_prev( &self, circle: &Circle, make_arcs: &MakeArcs, error: f64, ) -> bool
Returns whether a curve from a previous command is an arc of a circle
Sourcepub fn is_straight(&self, error: f64) -> bool
pub fn is_straight(&self, error: f64) -> bool
Returns whether the arc fits on a straight line
Sourcepub fn is_data_straight(args: &[f64], error: f64) -> bool
pub fn is_data_straight(args: &[f64], error: f64) -> bool
Returns whether the arc fits on a straight line
Sourcepub fn find_arc_angle(&self, rel_circle: &Circle) -> f64
pub fn find_arc_angle(&self, rel_circle: &Circle) -> f64
Returns the angle from the start of an arc to the end
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Curve
impl RefUnwindSafe for Curve
impl Send for Curve
impl Sync for Curve
impl Unpin for Curve
impl UnwindSafe for Curve
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more