Skip to main content

SpaceService

Trait SpaceService 

Source
pub trait SpaceService:
    Send
    + Sync
    + 'static {
    // Required methods
    fn measure_duplicates(
        &self,
        space: &ObjectId,
    ) -> Result<Vec<ObjectId>, SpaceError>;
    fn measure_clear_height(
        &self,
        space: &ObjectId,
    ) -> Result<ClearHeightEvidence, SpaceError>;
    fn measure_boundary_gaps(
        &self,
        space: &ObjectId,
    ) -> Result<Vec<BoundaryGap>, SpaceError>;
    fn measure_overlaps(
        &self,
        space: &ObjectId,
    ) -> Result<Vec<SpaceOverlap>, SpaceError>;
    fn measure_cap_coverage(
        &self,
        space: &ObjectId,
        cap: Cap,
    ) -> Result<CapCoverage, SpaceError>;
    fn measure_storey_residuals(
        &self,
    ) -> Result<Vec<StoreyResidual>, SpaceError>;
    fn measure_support_counts(&self) -> Result<SupportCounts, SpaceError>;
    fn evidence(&self) -> Evidence;
}
Expand description

Measures the geometry a space-validation policy reasons about.

ADR 0004: every method returns a measurement. None returns a finding, and each aspect fails independently.

Required Methods§

Source

fn measure_duplicates( &self, space: &ObjectId, ) -> Result<Vec<ObjectId>, SpaceError>

Spaces whose body coincides with space.

Source

fn measure_clear_height( &self, space: &ObjectId, ) -> Result<ClearHeightEvidence, SpaceError>

The clear height of space.

Source

fn measure_boundary_gaps( &self, space: &ObjectId, ) -> Result<Vec<BoundaryGap>, SpaceError>

Uncovered runs of the space boundary.

Source

fn measure_overlaps( &self, space: &ObjectId, ) -> Result<Vec<SpaceOverlap>, SpaceError>

Bodies overlapping space.

Source

fn measure_cap_coverage( &self, space: &ObjectId, cap: Cap, ) -> Result<CapCoverage, SpaceError>

Coverage of one horizontal cap of space.

Source

fn measure_storey_residuals(&self) -> Result<Vec<StoreyResidual>, SpaceError>

Floor area belonging to no space, per storey.

Source

fn measure_support_counts(&self) -> Result<SupportCounts, SpaceError>

Counts of the elements that can form horizontal caps.

Source

fn evidence(&self) -> Evidence

Evidence backing this service’s measurements.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§