#[non_exhaustive]pub struct RunStation {
pub station: Station,
pub seam: SeamSide,
pub seam_window: Scalar,
pub basis_end: Option<BasisEnd>,
}Expand description
A station of an offset run with the side of a seam it reads and its
seam-snapping window (#301): the general form of the plain Station
a CurveRelation::OffsetByStations takes, used by
CurveRelation::OffsetsAtStations. It may also stand at its basis’s
start or end, its distance measured by the kernel (#303).
Built with RunStation::new, RunStation::at_basis_start,
RunStation::at_basis_end and the with_ methods, so that fields can
be added without breaking callers. See the
module documentation for how a
run reads the side and the window, and
its #303 section for the
basis’s ends.
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: StationDistance along the basis and offsets in its frame there.
seam: SeamSideThe piece read where the station stands on a seam its run does not
decide: SeamSide::Outgoing unless set by
Self::with_seam_side. Omitted from the wire format when it is
Outgoing.
seam_window: ScalarThe seam-snapping window (#294): a station within this distance of
one seam of the basis stands ON it. 0 unless set by
Self::with_seam_window. Omitted from the wire format when it is
+0.0.
basis_end: Option<BasisEnd>The end of the basis the station stands at, its distance measured
by the kernel (#303): None, the default, for the stated
station.distance; otherwise that distance is 0 and not read
(see the
module documentation).
Format 1.3 of the graph’s wire format (ADR 0085): omitted when it
is None, and an absent end reads as None.
Implementations§
Source§impl RunStation
impl RunStation
Sourcepub const fn new(station: Station) -> Self
pub const fn new(station: Station) -> Self
station, reading the outgoing piece on a seam, with no window.
Sourcepub const fn at_basis_start(offsets: StationOffsets) -> Self
pub const fn at_basis_start(offsets: StationOffsets) -> Self
A station at the basis’s start with offsets (#303): distance 0,
reading the outgoing piece, with no window.
Sourcepub const fn at_basis_end(offsets: StationOffsets) -> Self
pub const fn at_basis_end(offsets: StationOffsets) -> Self
A station at the basis’s end with offsets (#303), reading the
outgoing piece, with no window: its distance is the basis’s length
by the kernel’s own measure, which the caller need not know (see
the module documentation).
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 stands on, where its
run does not decide the side.
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,
in the basis’s station measure, by the #294 rule. A negative or
non-finite window is refused when the node is pushed.
Trait Implementations§
Source§impl Clone for RunStation
impl Clone for RunStation
Source§fn clone(&self) -> RunStation
fn clone(&self) -> RunStation
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 RunStation
Source§impl Debug for RunStation
impl Debug for RunStation
Source§impl<'de> Deserialize<'de> for RunStation
impl<'de> Deserialize<'de> for RunStation
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<Station> for RunStation
impl From<Station> for RunStation
Source§fn from(station: Station) -> Self
fn from(station: Station) -> Self
The plain station: the outgoing piece, no window, what a station of
an OffsetByStations
means.