pub enum LevelMatch {
Elevation {
tolerance_metres: f64,
},
Name,
}Expand description
axioval:derived.same-level: levels of different sources that stand for
one federated level, such as the architecture model’s and the MEP
model’s storeys at one elevation.
Unlike a Derivation it needs no geometry: a capability matches two
containers it has already climbed to by what their sources state, their
elevation or their name, so it is never routed to a geometry provider.
Parameters follow the name as for a derivation: by is elevation (the
default) or name, and tolerance (metres, default 0, elevation only)
is the largest elevation difference of one level. A container is always
on its own level; two containers of one source never share one.
Variants§
Implementations§
Source§impl LevelMatch
impl LevelMatch
Sourcepub fn parse(
relationship: &str,
) -> Result<Option<Self>, RelationshipSelectionError>
pub fn parse( relationship: &str, ) -> Result<Option<Self>, RelationshipSelectionError>
The level match a relationship identity names, None for any other
identity.
§Errors
RelationshipSelectionError::InvalidRequest for a malformed,
unknown or repeated parameter, a negative or non-finite tolerance, or
a tolerance with by=name.
Sourcepub fn same(&self, left: &LevelFacts, right: &LevelFacts) -> Option<bool>
pub fn same(&self, left: &LevelFacts, right: &LevelFacts) -> Option<bool>
Whether two levels of different sources are one level: None when
either does not state what the match compares.
Elevations compare with the rounding of one unit conversion allowed
beyond the tolerance, so levels stated as 3000 mm and 3 m match
with none.
Trait Implementations§
Source§impl Clone for LevelMatch
impl Clone for LevelMatch
impl Copy for LevelMatch
Source§impl Debug for LevelMatch
impl Debug for LevelMatch
Source§impl Display for LevelMatch
The canonical identity: the name and every parameter, defaults included.
impl Display for LevelMatch
The canonical identity: the name and every parameter, defaults included.