pub enum Measure {
RegionExtent {
axis: Axis,
},
BoxExtent {
node: NodeId,
axis: PlanAxis,
},
BoxHeight {
node: NodeId,
},
DistanceXz {
from: NodeId,
to: NodeId,
},
DatumY {
datum: DatumId,
},
}Expand description
What an identity measures off the plan.
A small fixed vocabulary, spelled as a tagged union rather than as the
spec’s box(<node>).extent.x string. The vocabulary is exactly the spec’s
five; what changes is that a measure is parsed by serde instead of by a
grammar this module would have had to write, own and document — so an
unknown measure is an ordinary DW0100, a node it names is checked like
every other reference, and the growth the spec’s marked judgement predicts is
a variant rather than a second escaping rule. §9 records the departure.
Variants§
RegionExtent
The whole region’s extent on one axis, in blocks.
BoxExtent
One place’s footprint on one horizontal axis, in blocks.
BoxHeight
One place’s headroom over its walk plane, in blocks. A sky-open place measures the courses of air its ceiling declares.
DistanceXz
The horizontal distance between two places’ footprint centres, in blocks.
Euclidean on x/z; the standoff a brief states between two things.
DatumY
A named ground plane’s world y.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Measure
impl<'de> Deserialize<'de> for Measure
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 JsonSchema for Measure
impl JsonSchema for Measure
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read more