#[non_exhaustive]pub struct Stationing {
pub alignment: EntityId,
/* private fields */
}Expand description
The stationing of one IfcAlignment: its station equations in distance
order, and lookups across them.
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.alignment: EntityIdThe IfcAlignment this stationing belongs to.
Implementations§
Source§impl Stationing
impl Stationing
Sourcepub fn resolve(
model: &Model,
alignment: EntityId,
units: AlignmentUnits,
) -> AlignmentResult<Self>
pub fn resolve( model: &Model, alignment: EntityId, units: AlignmentUnits, ) -> AlignmentResult<Self>
Resolve the stationing of alignment from the referents it nests
or positions.
Referents without Pset_Stationing (a bridge pier marker, say) are
not part of the stationing and are skipped. An alignment with no
stationing referent resolves to an empty table, whose lookups are
refused.
§Errors
Refuses a model that is not IFC4X3, an alignment that is not an
IfcAlignment, a malformed relationship or referent, two stationing
referents at one distance, a non-finite station, and a station
that contradicts the one carried from the previous referent.
Sourcepub fn equations(&self) -> &[StationEquation]
pub fn equations(&self) -> &[StationEquation]
The stationing referents, ascending in distance along.
Sourcepub fn station_at(&self, distance_along: f64) -> AlignmentResult<f64>
pub fn station_at(&self, distance_along: f64) -> AlignmentResult<f64>
The station at distance_along (metres along the alignment).
At an equation the station ahead of it applies.
§Errors
AlignmentError::OutOfRange for a non-finite distance, an empty
table, or a distance before the first stationing referent.
Sourcepub fn distances_at(&self, station: f64) -> AlignmentResult<Vec<f64>>
pub fn distances_at(&self, station: f64) -> AlignmentResult<Vec<f64>>
Every distance along labelled station, ascending.
Usually one. Several when an equation steps the station back, so that the same value occurs in two ranges.
§Errors
AlignmentError::OutOfRange for a non-finite station and a
station no range reaches.
Sourcepub fn distance_at(&self, station: f64) -> AlignmentResult<f64>
pub fn distance_at(&self, station: f64) -> AlignmentResult<f64>
The one distance along labelled station.
§Errors
As Self::distances_at, and AlignmentError::AmbiguousStation
when the station labels several distances.