pub enum PropertyValue {
Single {
value: Option<MeasureValue>,
unit: Option<EntityId>,
},
Enumerated {
values: Vec<MeasureValue>,
enumeration: Option<EntityId>,
},
Bounded {
upper: Option<MeasureValue>,
lower: Option<MeasureValue>,
set_point: Option<MeasureValue>,
unit: Option<EntityId>,
},
List {
values: Vec<MeasureValue>,
unit: Option<EntityId>,
},
Table {
defining: Vec<MeasureValue>,
defined: Vec<MeasureValue>,
interpolation: Option<Arc<str>>,
},
Reference {
usage: Option<Arc<str>>,
reference: Option<EntityId>,
},
Complex {
usage: Option<Arc<str>>,
properties: Vec<Property>,
},
Unsupported {
type_name: Arc<str>,
},
}Expand description
What a property actually states.
One variant per concrete IfcProperty subtype in IFC4. A file stating a
subtype this crate does not model yields PropertyValue::Unsupported
carrying the type name, so an unknown property is reported rather than
silently dropped from its set.
Variants§
Single
IfcPropertySingleValue: one measure, optionally with a unit.
Fields
value: Option<MeasureValue>The nominal value. None when the file omits it, which is legal.
Enumerated
IfcPropertyEnumeratedValue: chosen constants plus their enumeration.
Fields
values: Vec<MeasureValue>The selected values.
Bounded
IfcPropertyBoundedValue: a range, optionally with a set point.
Fields
upper: Option<MeasureValue>Slot 2. Named explicitly because the schema order is upper-first.
lower: Option<MeasureValue>Slot 3.
set_point: Option<MeasureValue>Slot 5.
List
IfcPropertyListValue: an ordered list of measures.
Fields
values: Vec<MeasureValue>The values, in file order. Order is meaningful in a LIST.
Table
IfcPropertyTableValue: a defining/defined value mapping.
Reference
IfcPropertyReferenceValue: a pointer to another entity.
Fields
Complex
IfcComplexProperty: nested properties under a usage name.
Fields
Unsupported
A concrete IfcProperty subtype this crate does not model.