pub enum IfcClass {
Show 18 variants
Project,
Site,
Building,
BuildingStorey,
Space,
Wall,
Slab,
Roof,
Column,
Beam,
Door,
Window,
Stair,
Covering,
Furniture,
OpeningElement,
BuildingElementProxy,
Other(String),
}Expand description
The IFC class of an element.
Only classes CADForge authors natively are named; everything else round-trips through
IfcClass::Other so that importing an unfamiliar model never loses its typing.
Variants§
Project
Site
Building
BuildingStorey
Space
Wall
Slab
Roof
Column
Beam
Door
Window
Stair
Covering
Furniture
OpeningElement
BuildingElementProxy
Other(String)
Anything imported that CADForge does not author natively. Preserved verbatim.
Implementations§
Source§impl IfcClass
impl IfcClass
Sourcepub fn is_spatial(&self) -> bool
pub fn is_spatial(&self) -> bool
True for the spatial structure hierarchy, which contains elements rather than being contained by them.
Other participates: IFC4X3 introduced a whole spatial hierarchy for infrastructure —
IfcRoadPart, IfcBridgePart, IfcFacilityPart — and CADForge does not author any of
it, so those arrive as Other. Treating them as non-spatial strands every element
contained in one. Found by importing the corpus: a single road model produced 26 of
them and 38 dangling-reference warnings.
Sourcepub fn is_structure_spine(&self) -> bool
pub fn is_structure_spine(&self) -> bool
True for the four classes that form the containment spine and are written by the exporter as structure rather than as products.
Distinct from IfcClass::is_spatial: a space and a road part are spatial — things
can be contained in them — but they are written as products, because the exporter
composes exactly one project/site/building/storey chain.
Sourcepub fn can_host_openings(&self) -> bool
pub fn can_host_openings(&self) -> bool
True if an element of this class may host openings (IfcRelVoidsElement).