#[non_exhaustive]pub struct OrientedCurveStation {
pub station: CurveStation,
pub orientation: StationOrientation,
pub seam: SeamSide,
pub seam_window: Scalar,
}Expand description
A CurveStation with an explicit orientation (#246) and the side of
a seam it reads (#263).
Its point is the station’s, offsets read in the base frame; its frame
is the base frame turned by orientation (see the
module documentation). On a seam of the basis curve the base
frame is the one of the piece seam names.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.station: CurveStationThe basis curve, distance, offsets and base frame.
orientation: StationOrientationThe axis and reference direction, in the base frame.
seam: SeamSideThe piece read when the station lies on a seam of its basis curve;
SeamSide::Outgoing unless set by Self::with_seam_side.
seam_window: ScalarThe seam-snapping window (#294): a station within this distance of
a seam of its basis is read ON that seam, from the side seam
names. 0 unless set by Self::with_seam_window, which is the
arc-length tolerance alone (see the
module documentation).
Format 1.1 of the graph’s wire format (ADR 0085): omitted when it
is +0.0, and an absent window reads as 0.
Implementations§
Source§impl OrientedCurveStation
impl OrientedCurveStation
Sourcepub const fn new(station: CurveStation, orientation: StationOrientation) -> Self
pub const fn new(station: CurveStation, orientation: StationOrientation) -> Self
station turned by orientation, reading the outgoing piece on a
seam.
Sourcepub const fn with_seam_side(self, side: SeamSide) -> Self
pub const fn with_seam_side(self, side: SeamSide) -> Self
The same station reading side of a seam it lies on.
Sourcepub const fn with_seam_window(self, window: Scalar) -> Self
pub const fn with_seam_window(self, window: Scalar) -> Self
The same station snapping onto a seam of its basis within window
(#294), in the basis’s station measure: a station that close to
one seam is read on it, from its SeamSide. 0 is no window
beyond the arc-length tolerance. A negative or non-finite window is
refused when the node is pushed (see the
module documentation).
Trait Implementations§
impl BuiltInNode for OrientedCurveStation
Source§impl Clone for OrientedCurveStation
impl Clone for OrientedCurveStation
Source§fn clone(&self) -> OrientedCurveStation
fn clone(&self) -> OrientedCurveStation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for OrientedCurveStation
Source§impl Debug for OrientedCurveStation
impl Debug for OrientedCurveStation
Source§impl<'de> Deserialize<'de> for OrientedCurveStation
impl<'de> Deserialize<'de> for OrientedCurveStation
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>,
Source§impl From<CurveStation> for OrientedCurveStation
impl From<CurveStation> for OrientedCurveStation
Source§fn from(station: CurveStation) -> Self
fn from(station: CurveStation) -> Self
The station in its base frame, reading the outgoing piece on a seam: what the plain station means.