pub struct Arc {
pub center: Point,
pub radii: Vec2,
pub start_angle: f64,
pub sweep_angle: f64,
pub x_rotation: f64,
}
Expand description
A single elliptical arc segment.
Fields§
§center: Point
The arc’s centre point.
radii: Vec2
The arc’s radii, where the vector’s x-component is the radius in the
positive x direction after applying x_rotation
.
start_angle: f64
The start angle in radians.
sweep_angle: f64
The angle between the start and end of the arc, in radians.
x_rotation: f64
How much the arc is rotated, in radians.
Implementations§
Source§impl Arc
impl Arc
Sourcepub fn new(
center: impl Into<Point>,
radii: impl Into<Vec2>,
start_angle: f64,
sweep_angle: f64,
x_rotation: f64,
) -> Self
pub fn new( center: impl Into<Point>, radii: impl Into<Vec2>, start_angle: f64, sweep_angle: f64, x_rotation: f64, ) -> Self
Create a new Arc
.
Sourcepub fn reversed(&self) -> Arc
pub fn reversed(&self) -> Arc
Returns a copy of this Arc
in the opposite direction.
The new Arc
will sweep towards the original Arc
s
start angle.
Sourcepub fn append_iter(&self, tolerance: f64) -> ArcAppendIter
pub fn append_iter(&self, tolerance: f64) -> ArcAppendIter
Create an iterator generating Bezier path elements.
The generated elements can be appended to an existing bezier path.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Arc
impl<'de> Deserialize<'de> for Arc
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl JsonSchema for Arc
impl JsonSchema for Arc
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref
keyword. Read moreSource§impl Shape for Arc
impl Shape for Arc
Source§fn perimeter(&self, accuracy: f64) -> f64
fn perimeter(&self, accuracy: f64) -> f64
The perimeter of the arc.
For now we just approximate by using the bezier curve representation.
Source§fn winding(&self, pt: Point) -> i32
fn winding(&self, pt: Point) -> i32
Note: shape isn’t closed, so a point’s winding number is not well defined.
Source§type PathElementsIter<'iter> = Chain<Once<PathEl>, ArcAppendIter>
type PathElementsIter<'iter> = Chain<Once<PathEl>, ArcAppendIter>
The iterator returned by the
path_elements
method.Source§fn path_elements(&self, tolerance: f64) -> Self::PathElementsIter<'_>
fn path_elements(&self, tolerance: f64) -> Self::PathElementsIter<'_>
Source§fn bounding_box(&self) -> Rect
fn bounding_box(&self) -> Rect
The smallest rectangle that encloses the shape.
Source§fn into_path(self, tolerance: f64) -> BezPathwhere
Self: Sized,
fn into_path(self, tolerance: f64) -> BezPathwhere
Self: Sized,
Convert into a Bézier path. Read more
Source§fn path_segments(&self, tolerance: f64) -> Segments<Self::PathElementsIter<'_>> ⓘ
fn path_segments(&self, tolerance: f64) -> Segments<Self::PathElementsIter<'_>> ⓘ
Source§fn as_rounded_rect(&self) -> Option<RoundedRect>
fn as_rounded_rect(&self) -> Option<RoundedRect>
If the shape is a rounded rectangle, make it available.
impl Copy for Arc
impl StructuralPartialEq for Arc
Auto Trait Implementations§
impl Freeze for Arc
impl RefUnwindSafe for Arc
impl Send for Arc
impl Sync for Arc
impl Unpin for Arc
impl UnwindSafe for Arc
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