Expand description
Bounded IFC control semantics: permits, project orders, action requests, and performance history.
This crate owns the IfcControl subtypes that govern work rather
than describe physical form. It stages them into a transaction and
validates what the schema states; it does not implement approval
workflow, authorization, or policy decisions, which are the
concern of whatever system issues the permit.
Controls relate to the work they govern through
IfcRelAssignsToControl. The crate owning the relating control
writes that relationship, so this crate stages it for its own four
controls and refuses any other.
Records are laid out by attribute name from one release’s table
(#198). IfcRoot.OwnerHistory is required in IFC2X3 and optional from
IFC4 on, so the writers that leave it unset refuse IFC2X3 with
ControlError::AuthoringRequired; the *_with_owner_history
variants bind the model’s declared release and take a caller-supplied
IfcOwnerHistory (#202).
IfcCostItem, IfcCostSchedule, IfcWorkCalendar and
IfcWorkControl are IfcControl subtypes too, but they belong to
ifc-cost and ifc-schedule: the crates split by domain, not by
supertype, so those entities do not move here.
Structs§
- Control
Assignment Draft - One
IfcRelAssignsToControlto stage. - Control
Draft - Attributes shared by every control.
Enums§
- Control
Error - Control projection or authoring failure.
- Control
Kind - Which control is being staged.
Functions§
- assign_
to_ control - Stage one
IfcRelAssignsToControlrelating work to an owned control. - assign_
to_ control_ with_ owner_ history assign_to_controlinmodel’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires (#202).- create_
control - Stage one control record, laid out by attribute name in
schema. - create_
control_ with_ owner_ history create_controlinmodel’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires (#198, #202).
Type Aliases§
- Control
Result - Result alias for control operations.