pub struct LandXmlAlignment {
pub source_id: LandXmlSourceId,
pub ordinal: usize,
pub name: String,
pub length: f64,
pub sta_start: f64,
pub start: Option<LandXmlPointLocation>,
pub align_pis: Vec<LandXmlAlignmentPi>,
pub segments: Vec<LandXmlAlignmentSegment>,
pub station_equations: Vec<LandXmlStationEquation>,
pub cant: Option<LandXmlCant>,
pub superelevations: Vec<LandXmlSuperelevation>,
pub unsupported_transitions: Vec<LandXmlUnsupportedTransition>,
}Fields§
§source_id: LandXmlSourceId§ordinal: usize§name: String§length: f64§sta_start: f64§start: Option<LandXmlPointLocation>§align_pis: Vec<LandXmlAlignmentPi>Authored AlignPIs leaves. They are an explicit source capability,
not inferred from primitive PI leaves or reconstructed geometry.
segments: Vec<LandXmlAlignmentSegment>§station_equations: Vec<LandXmlStationEquation>§cant: Option<LandXmlCant>§superelevations: Vec<LandXmlSuperelevation>§unsupported_transitions: Vec<LandXmlUnsupportedTransition>Implementations§
Source§impl LandXmlAlignment
impl LandXmlAlignment
Sourcepub fn cant_at_distance(
&self,
distance: f64,
) -> Result<Option<LandXmlCantProbe>, LandXmlNumericDiagnostic>
pub fn cant_at_distance( &self, distance: f64, ) -> Result<Option<LandXmlCantProbe>, LandXmlNumericDiagnostic>
Inspects the exact authored CantStation records bracketing a physical distance. Displayed station equations do not alter Cant’s internal station axis.
Sourcepub fn superelevations_at_distance(
&self,
distance: f64,
) -> Result<Vec<&LandXmlSuperelevation>, LandXmlNumericDiagnostic>
pub fn superelevations_at_distance( &self, distance: f64, ) -> Result<Vec<&LandXmlSuperelevation>, LandXmlNumericDiagnostic>
Returns all Superelevation blocks whose declared station range includes the physical distance. Missing bounds are open bounds, never guessed from a sibling event’s textual value.
Source§impl LandXmlAlignment
impl LandXmlAlignment
Sourcepub fn station_at_distance(
&self,
distance: f64,
) -> Result<LandXmlStationMapping, LandXmlNumericDiagnostic>
pub fn station_at_distance( &self, distance: f64, ) -> Result<LandXmlStationMapping, LandXmlNumericDiagnostic>
Maps physical distance to displayed station without conflating the two.
Sourcepub fn distances_for_station(
&self,
station: f64,
) -> Result<Vec<f64>, LandXmlNumericDiagnostic>
pub fn distances_for_station( &self, station: f64, ) -> Result<Vec<f64>, LandXmlNumericDiagnostic>
Returns every physical distance matching a displayed station. Empty is a station gap.
Sourcepub fn probe_at_distance(
&self,
distance: f64,
offset_right: f64,
) -> Result<LandXmlAlignmentProbe, LandXmlNumericDiagnostic>
pub fn probe_at_distance( &self, distance: f64, offset_right: f64, ) -> Result<LandXmlAlignmentProbe, LandXmlNumericDiagnostic>
Evaluates an authored primitive at a physical distance, never a mesh request.
Sourcepub fn probe_at_station(
&self,
station: f64,
offset_right: f64,
) -> Result<LandXmlAlignmentProbe, LandXmlNumericDiagnostic>
pub fn probe_at_station( &self, station: f64, offset_right: f64, ) -> Result<LandXmlAlignmentProbe, LandXmlNumericDiagnostic>
Resolves one displayed label, refusing duplicate labels rather than guessing.
Sourcepub fn probes_at_station(
&self,
station: f64,
offset_right: f64,
max_matches: usize,
) -> Result<Vec<LandXmlAlignmentProbe>, LandXmlNumericDiagnostic>
pub fn probes_at_station( &self, station: f64, offset_right: f64, max_matches: usize, ) -> Result<Vec<LandXmlAlignmentProbe>, LandXmlNumericDiagnostic>
Evaluates a bounded number of displayed-station matches after one validation pass.
Trait Implementations§
Source§impl Clone for LandXmlAlignment
impl Clone for LandXmlAlignment
Source§fn clone(&self) -> LandXmlAlignment
fn clone(&self) -> LandXmlAlignment
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LandXmlAlignment
impl Debug for LandXmlAlignment
Source§impl<'de> Deserialize<'de> for LandXmlAlignment
impl<'de> Deserialize<'de> for LandXmlAlignment
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 PartialEq for LandXmlAlignment
impl PartialEq for LandXmlAlignment
Source§impl Serialize for LandXmlAlignment
impl Serialize for LandXmlAlignment
impl StructuralPartialEq for LandXmlAlignment
Auto Trait Implementations§
impl Freeze for LandXmlAlignment
impl RefUnwindSafe for LandXmlAlignment
impl Send for LandXmlAlignment
impl Sync for LandXmlAlignment
impl Unpin for LandXmlAlignment
impl UnwindSafe for LandXmlAlignment
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.