pub enum PathSegment {
Line {
end: Point3d<LengthUnit>,
relative: bool,
},
Arc {
center: Point2d<LengthUnit>,
radius: LengthUnit,
start: Angle,
end: Angle,
relative: bool,
},
Bezier {
control1: Point3d<LengthUnit>,
control2: Point3d<LengthUnit>,
end: Point3d<LengthUnit>,
relative: bool,
},
TangentialArc {
radius: LengthUnit,
offset: Angle,
},
TangentialArcTo {
to: Point3d<LengthUnit>,
angle_snap_increment: Option<Angle>,
},
}
Expand description
A segment of a path. Paths are composed of many segments.
Variants§
Line
A straight line segment. Goes from the current path “pen” to the given endpoint.
Fields
§
end: Point3d<LengthUnit>
End point of the line.
Arc
A circular arc segment. Arcs can be drawn clockwise when start > end.
Bezier
A cubic bezier curve segment. Start at the end of the current line, go through control point 1 and 2, then end at a given point.
Fields
§
control1: Point3d<LengthUnit>
First control point.
§
control2: Point3d<LengthUnit>
Second control point.
§
end: Point3d<LengthUnit>
Final control point.
TangentialArc
Adds a tangent arc from current pen position with the given radius and angle.
Fields
§
radius: LengthUnit
Radius of the arc. Not to be confused with Raiders of the Lost Ark.
TangentialArcTo
Adds a tangent arc from current pen position to the new position. Arcs will choose a clockwise or counter-clockwise direction based on the arc end position.
Trait Implementations§
source§impl Clone for PathSegment
impl Clone for PathSegment
source§fn clone(&self) -> PathSegment
fn clone(&self) -> PathSegment
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for PathSegment
impl Debug for PathSegment
source§impl<'de> Deserialize<'de> for PathSegment
impl<'de> Deserialize<'de> for PathSegment
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 PathSegment
impl JsonSchema for PathSegment
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 PartialEq for PathSegment
impl PartialEq for PathSegment
source§fn eq(&self, other: &PathSegment) -> bool
fn eq(&self, other: &PathSegment) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for PathSegment
impl Serialize for PathSegment
source§impl Value for PathSegment
impl Value for PathSegment
source§fn into_parts(self) -> Vec<Primitive>
fn into_parts(self) -> Vec<Primitive>
Store the value in memory.
source§fn from_parts<I>(values: &mut I) -> Result<(Self, usize), MemoryError>
fn from_parts<I>(values: &mut I) -> Result<(Self, usize), MemoryError>
Read the value from memory.
impl Copy for PathSegment
impl StructuralPartialEq for PathSegment
Auto Trait Implementations§
impl Freeze for PathSegment
impl RefUnwindSafe for PathSegment
impl Send for PathSegment
impl Sync for PathSegment
impl Unpin for PathSegment
impl UnwindSafe for PathSegment
Blanket Implementations§
source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
source§impl<T> IntoSql for T
impl<T> IntoSql for T
source§fn into_sql<T>(self) -> Self::Expression
fn into_sql<T>(self) -> Self::Expression
Convert
self
to an expression for Diesel’s query builder. Read moresource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
Convert
&self
to an expression for Diesel’s query builder. Read more