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
Fields
§
end: Point3d<LengthUnit>
End point of the line.
A straight line segment. Goes from the current path “pen” to the given endpoint.
Arc
A circular arc segment.
Bezier
Fields
§
control1: Point3d<LengthUnit>
First control point.
§
control2: Point3d<LengthUnit>
Second control point.
§
end: Point3d<LengthUnit>
Final control point.
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.
TangentialArc
Fields
§
radius: LengthUnit
Radius of the arc. Not to be confused with Raiders of the Lost Ark.
Adds a tangent arc from current pen position with the given radius and angle.
TangentialArcTo
Fields
§
to: Point3d<LengthUnit>
Where the arc should end. Must lie in the same plane as the current path pen position. Must not be colinear with current path pen position.
Adds a tangent arc from current pen position to the new 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 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, MemoryError>
fn from_parts<I>(values: &mut I) -> Result<Self, MemoryError>
Read the value from memory.
impl Copy for PathSegment
Auto Trait Implementations§
impl RefUnwindSafe for PathSegment
impl Send for PathSegment
impl Sync for PathSegment
impl Unpin for PathSegment
impl UnwindSafe for PathSegment
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