Module compose

Source
Expand description

Layer composition, following upstream src/ifcx-core/composition of buildingSMART/IFC5-development for the ifcx_alpha draft.

Composition has three phases upstream: federation puts the nodes of all layers into one list in layer order, flattening merges the nodes that share a path (flatten), and composition expands inherits and children into a tree (compose).

Structs§

ComposedNode
One node of the composed tree. Upstream calls this a post-composition node.
Composition
The composed tree of a set of flattened nodes.
FlatNode
All opinions about one path, merged in layer order.

Enums§

ComposeError
Why flattened nodes could not be composed.

Functions§

compose
Composes flattened nodes into a tree, as upstream’s LoadIfcxFile does after flattening.
flatten
Merges input nodes into one FlatNode per path.
flatten_owned
flatten for nodes the caller no longer needs: the nodes are consumed and their paths, maps, and attribute values move into the result instead of being copied.