#[non_exhaustive]pub struct SectionAtStation {
pub profile: NodeId,
pub station: Station,
pub tags: Vec<String>,
pub orientation: StationOrientation,
pub seam: SeamSide,
pub seam_window: Scalar,
}Expand description
A section standing at a station, with optional tags and an optional
explicit orientation (#246): the general form of StationedSection
(closed) and StationedOpenSection (open).
Built with SectionAtStation::new and the with_ methods, so that
fields can be added without breaking callers.
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.profile: NodeIdThe profile node: an area profile in a sectioned spine, an open profile in a sectioned surface.
station: StationDistance along the directrix and offsets of the profile’s origin, in the base frame.
One tag per vertex, or empty to match by index; see the module documentation.
orientation: StationOrientationThe section’s orientation in the base frame; the default is the base frame.
seam: SeamSideThe piece read where the section stands on a seam its run does not
decide (#301): SeamSide::Outgoing unless set by
Self::with_seam_side. See the
module documentation for
where a run reads it.
Format 1.2 of the graph’s wire format (ADR 0085): omitted when it
is Outgoing, and an absent side reads as Outgoing.
seam_window: ScalarThe seam-snapping window (#294, #301): a section within this
distance of one seam of the directrix stands ON that seam. 0
unless set by Self::with_seam_window, which is the arc-length
tolerance alone.
Format 1.2 of the graph’s wire format (ADR 0085): omitted when it
is +0.0, and an absent window reads as 0.
Implementations§
Source§impl SectionAtStation
impl SectionAtStation
Sourcepub const fn new(profile: NodeId, station: Station) -> Self
pub const fn new(profile: NodeId, station: Station) -> Self
profile at station, untagged, in the base frame.
The same section with tags, one per vertex.
Sourcepub const fn with_orientation(self, orientation: StationOrientation) -> Self
pub const fn with_orientation(self, orientation: StationOrientation) -> Self
The same section turned by orientation.
Sourcepub const fn with_seam_side(self, side: SeamSide) -> Self
pub const fn with_seam_side(self, side: SeamSide) -> Self
The same section reading side of a seam it stands on, where its
run does not decide the side (#301; see the
module documentation).
Sourcepub const fn with_seam_window(self, window: Scalar) -> Self
pub const fn with_seam_window(self, window: Scalar) -> Self
The same section snapping onto a seam of the directrix within
window (#301), in the directrix’s station measure, by the #294
rule. 0 is no window beyond the arc-length tolerance; a negative
or non-finite window is refused when the node is pushed.
Trait Implementations§
Source§impl Clone for SectionAtStation
impl Clone for SectionAtStation
Source§fn clone(&self) -> SectionAtStation
fn clone(&self) -> SectionAtStation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more