Skip to main content

Derivation

Enum Derivation 

Source
pub enum Derivation {
    ContainedInSpace {
        horizontal_metres: f64,
        vertical_metres: f64,
    },
    AdjacentSpace {
        reach_metres: f64,
    },
    OverlappingGroupSpace {
        minimum_ratio: f64,
        vertical_metres: f64,
    },
    SpansLevel {
        overlap_metres: f64,
    },
    Intersects,
}
Expand description

A derived relationship and the tolerances it was asked with.

Variants§

§

ContainedInSpace

axioval:derived.contained-in-space: an element to the spaces whose body contains its reference point, or, when none does, to the one nearest space whose surface lies within horizontal metres in plan and vertical metres in elevation of it. Both default to zero, which asks for containment alone.

Fields

§horizontal_metres: f64

Largest plan offset to a space’s nearest surface point, in metres.

§vertical_metres: f64

Largest elevation offset to that point, in metres.

§

AdjacentSpace

axioval:derived.adjacent-space: a door, window or opening to the spaces a probe first enters on each side of it within reach metres (default 1). A side that enters no space is outside.

Fields

§reach_metres: f64

How far each probe sweeps from the element’s face, in metres.

§

OverlappingGroupSpace

axioval:derived.overlapping-group-space: a space to every larger space whose footprint covers at least ratio of its own (default 0.5) and whose vertical extent lies within vertical metres of its own (default 0, touching or overlapping).

Fields

§minimum_ratio: f64

Smallest share of the space’s footprint the group must cover.

§vertical_metres: f64

Largest vertical gap between the two extents, in metres.

§

SpansLevel

axioval:derived.spans-level: a space to every level (storey) whose height band its vertical extent reaches at least overlap metres into (default 1), or at least half its own height, so a space counts in its own storey and a two-storey atrium in both. A level’s band runs from its elevation up to the next level’s.

Fields

§overlap_metres: f64

Smallest vertical overlap with a level’s band, in metres.

§

Intersects

axioval:derived.intersects: an element to every object of the request’s universe whose body shares volume with its own, such as a duct to the beam or wall it passes through with no void modelled. It takes no parameters and runs both ways.

Bodies that only touch share no volume. A pair the geometry cannot decide (an unmeasured body, a tessellation within its chord deviation of the other body, two open surfaces) refuses the answer.

Implementations§

Source§

impl Derivation

Source

pub fn parse( relationship: &SemanticRelationship, ) -> Result<Option<Self>, RelationshipSelectionError>

The derivation a relationship identity names, None for an identity outside DERIVED_RELATIONSHIP_PREFIX.

§Errors

RelationshipSelectionError::InvalidRequest for an unknown derivation or a malformed, unknown or repeated parameter.

Source

pub fn name(&self) -> String

The derivation’s name, the identity without parameters, such as axioval:derived.contained-in-space. Every evidence locator of an answer starts with it.

Trait Implementations§

Source§

impl Clone for Derivation

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Derivation

Source§

impl Debug for Derivation

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Derivation

The canonical identity: the name and every parameter, defaults included.

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Derivation

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Derivation

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.