Struct kurbo::Ellipse [−][src]
An ellipse.
Implementations
impl Ellipse
[src]
pub fn new(
center: impl Into<Point>,
radii: impl Into<Vec2>,
x_rotation: f64
) -> Ellipse
[src]
center: impl Into<Point>,
radii: impl Into<Vec2>,
x_rotation: f64
) -> Ellipse
Create A new ellipse with a given center, radii, and 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 from the
x asix by rotation
radians, before finally translating the center
to center
.
Rotation is clockwise in a y-down coordinate system. For more on
rotation, see Affine::rotate
.
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_rotation
with the result.
pub fn from_affine(affine: Affine) -> Self
[src]
Create an ellipse from an affine transformation of the unit circle.
#[must_use]pub fn with_center(self, new_center: Point) -> Ellipse
[src]
Create a new Ellipse
centered on the provided point.
#[must_use]pub fn with_radii(self, new_radii: Vec2) -> Ellipse
[src]
Create a new Ellipse
with the provided radii.
#[must_use]pub fn with_rotation(self, rotation: f64) -> Ellipse
[src]
Create a new Ellipse
, with the rotation replaced by rotation
radians.
The rotation is clockwise, for a y-down coordinate system. For more
on rotation, See Affine::rotate
.
pub fn center(&self) -> Point
[src]
Returns 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 rotation.
pub fn rotation(&self) -> f64
[src]
The ellipse's rotation, in radians.
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 is_finite(&self) -> bool
[src]
Is this ellipse finite?
pub fn is_nan(&self) -> bool
[src]
Is this ellipse NaN?
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]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl From<Circle> for Ellipse
[src]
impl Mul<Ellipse> for Affine
[src]
type Output = Ellipse
The resulting type after applying the *
operator.
fn mul(self, other: Ellipse) -> Self::Output
[src]
impl PartialEq<Ellipse> for Ellipse
[src]
impl Serialize for Ellipse
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl Shape for Ellipse
[src]
type PathElementsIter = Chain<Once<PathEl>, ArcAppendIter>
The iterator returned by the path_elements
method. Read more
fn path_elements(&self, tolerance: f64) -> Self::PathElementsIter
[src]
fn area(&self) -> f64
[src]
fn perimeter(&self, accuracy: f64) -> f64
[src]
fn winding(&self, pt: Point) -> i32
[src]
fn bounding_box(&self) -> Rect
[src]
fn to_path(&self, tolerance: f64) -> BezPath
[src]
fn into_path(self, tolerance: f64) -> BezPath
[src]
fn path_segments(&self, tolerance: f64) -> Segments<Self::PathElementsIter>ⓘ
[src]
fn contains(&self, pt: Point) -> bool
[src]
fn as_line(&self) -> Option<Line>
[src]
fn as_rect(&self) -> Option<Rect>
[src]
fn as_rounded_rect(&self) -> Option<RoundedRect>
[src]
fn as_circle(&self) -> Option<Circle>
[src]
fn as_path_slice(&self) -> Option<&[PathEl]>
[src]
impl StructuralPartialEq for Ellipse
[src]
impl Sub<Vec2> for Ellipse
[src]
Auto Trait Implementations
impl RefUnwindSafe for Ellipse
[src]
impl Send for Ellipse
[src]
impl Sync for Ellipse
[src]
impl Unpin for Ellipse
[src]
impl UnwindSafe for Ellipse
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,