[][src]Struct kurbo::Ellipse

pub struct Ellipse { /* fields omitted */ }

An ellipse.

Implementations

impl Ellipse[src]

pub fn new(
    center: impl Into<Point>,
    radii: impl Into<Vec2>,
    x_rotation: f64
) -> Ellipse
[src]

A new ellipse from center, radii, and x_rotation.

The returned ellipse will be the result of taking a circle, stretching it by the radii along the x and y axes, then rotating it clockwise by x_rotation radians, before finally translating the center to center.

pub fn from_rect(rect: Rect) -> Self[src]

Returns the largest ellipse that can be bounded by this Rect.

This uses the absolute width and height of the rectangle.

This ellipse is always axis-aligned; to apply rotation you can call with_x_rotation with the result.

pub fn from_affine(affine: Affine) -> Self[src]

Create an ellipse from an affine transformation of the unit circle.

pub fn center(&self) -> Point[src]

Returns the center of this ellipse.

pub fn with_center(self, new_center: Point) -> Ellipse[src]

Sets the center of this ellipse.

pub fn radii(&self) -> Vec2[src]

Returns the two radii of this ellipse.

The first number is the horizontal radius and the second is the vertical radius, before rotating by x_rotation.

#[must_use]pub fn with_radii(self, new_radii: Vec2) -> Ellipse[src]

Set the radii of this ellipse.

pub fn x_rotation(&self) -> f64[src]

The amount (in radians) that the ellipse should be rotated by (clockwise).

This allows all possible ellipses to be drawn by always starting with an ellipse with the two radii on the x and y axes.

pub fn with_x_rotation(self, new_x_rotation: f64) -> Ellipse[src]

Set the amount (in radians) that the ellipse should be rotated by (clockwise).

Trait Implementations

impl Add<Vec2> for Ellipse[src]

type Output = Ellipse

The resulting type after applying the + operator.

fn add(self, v: Vec2) -> Ellipse[src]

In this context adding a Vec2 applies the corresponding translation to the eliipse.

impl Clone for Ellipse[src]

impl Copy for Ellipse[src]

impl Debug for Ellipse[src]

impl Default for Ellipse[src]

impl<'de> Deserialize<'de> for Ellipse[src]

impl From<Circle> for Ellipse[src]

impl Mul<Ellipse> for Affine[src]

type Output = Ellipse

The resulting type after applying the * operator.

impl PartialEq<Ellipse> for Ellipse[src]

impl Serialize for Ellipse[src]

impl Shape for Ellipse[src]

type BezPathIter = Chain<Once<PathEl>, ArcAppendIter>

The iterator resulting from to_bez_path.

impl StructuralPartialEq for Ellipse[src]

impl Sub<Vec2> for Ellipse[src]

type Output = Ellipse

The resulting type after applying the - operator.

fn sub(self, v: Vec2) -> Ellipse[src]

In this context subtracting a Vec2 applies the corresponding translation to the eliipse.

Auto Trait Implementations

impl RefUnwindSafe for Ellipse

impl Send for Ellipse

impl Sync for Ellipse

impl Unpin for Ellipse

impl UnwindSafe for Ellipse

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.