ifc_occurrence/lib.rs
1//! Built element and distribution occurrence classes.
2//!
3//! A type definition says what a pump *is*; an occurrence says that
4//! one particular pump sits here, in this system, with this tag. This
5//! crate authors the occurrence side and enforces the link between
6//! the two: the schema pairs each occurrence class with exactly one
7//! type class, and a mismatch is refused rather than written.
8//!
9//! The catalogue in [`table`] is generated from
10//! `references/ifc-spec/ifc4x3-add2/IFC4X3_ADD2.exp` by
11//! `scripts/gen-occurrences.py`; [`create`] and
12//! [`create_with_owner_history`] are the writers. They write the model's
13//! declared release, laid out from its own table, not the catalogue's
14//! IFC4X3 row.
15
16mod authoring;
17mod release;
18pub mod table;
19
20pub use authoring::{
21 create, create_with_owner_history, OccurrenceDraft, OccurrenceError, OccurrenceResult,
22};