Class Ifc2x3::IfcSpatialStructureElement

Nested Relationships

This class is a nested type of Struct Ifc2x3.

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class Ifc2x3::IfcSpatialStructureElement : public Ifc2x3::IfcProduct

A spatial structure element (IfcSpatialStructureElement) is the generalization of all spatial elements that might be used to define a spatial structure. That spatial structure is often used to provide a project structure to organize a building project. A spatial project structure might define as many levels of decomposition as necessary for the building project. Elements within the spatial project structure are:

site as IfcSite building as IfcBuilding storey as IfcBuildingStorey space as IfcSpace

or aggregations or parts thereof. The composition type declares an element to be either an element itself, or an aggregation (complex) or a decomposition (part). The interpretation of these types is given at each subtype of IfcSpatialStructureElement. The IfcRelAggregates is defined as an 1-to-many relationship and used to establish the relationship between exactly two levels within the spatial project structure. Finally the highest level of the spatial structure is assigned to IfcProject using the IfcRelAggregates. Informal proposition:

The spatial project structure, established by the IfcRelAggregates, shall be acyclic. A site should not be (directly or indirectly) associated to a building, storey or space. A building should not be (directly or indirectly) associated to a storey or space. A storey should not be (directly or indirectly) associated to a space.

HISTORY New entity in IFC Release 2x.

Relationship Use Definition The subtypes of IfcSpatialStructureElement relate to other elements and systems by establishing the following relationships:

Containment of elements : IfcRelContainedInSpatialStructure by inverse attribute ContainsElements, used to assign any element, like building elements, MEP elements, etc. to the spatial structure element in which they are primarily contained.

NOTE This relationship is mandatory for elements in several view definitions and implementer agreements.

Reference of elements : IfcRelReferencedInSpatialStructure by inverse attribute ReferencesElements, used to reference any element, like building elements, MEP elements, etc. in spatial structure elements, other then the one, where it is contained. Reference of systems : IfcRelServicesBuildings by inverse attribute ServicedBySystems, used to reference a sytem, like a building service or electrical distribution system, a zonal system, or a structural analysis system, that is assigned to this spatial structure element.

NOTE Elements within the referenced system may be directly contained (or referenced) by other spatial structure elements.

The subtypes of IfcSpatialStructureElement relate to each other by using the IfcRelAggregates relationship to build the project spatial structure.

Figure 62 shows the use of IfcRelAggregates to establish a spatial structure including site, building, building section and storey. More information is provided at the level of the subtypes.

Figure 62 — Spatial structure element composition

Subclassed by Ifc2x3::IfcBuilding, Ifc2x3::IfcBuildingStorey, Ifc2x3::IfcSite, Ifc2x3::IfcSpace

Public Functions

bool hasLongName() const

Whether the optional attribute LongName is defined for this IfcSpatialStructureElement.

std::string LongName() const
void setLongName(std::string v)
::Ifc2x3::IfcElementCompositionEnum::Value CompositionType() const

Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value ‘ELEMENT’ applies.

IFC2x4 CHANGE&nbsp Attribute made optional.

void setCompositionType(::Ifc2x3::IfcElementCompositionEnum::Value v)
IfcTemplatedEntityList<IfcRelReferencedInSpatialStructure>::ptr ReferencesElements() const
IfcTemplatedEntityList<IfcRelServicesBuildings>::ptr ServicedBySystems() const
IfcTemplatedEntityList<IfcRelContainedInSpatialStructure>::ptr ContainsElements() const
const IfcParse::entity &declaration() const
IfcSpatialStructureElement(IfcEntityInstanceData *e)
IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType)

Public Static Functions

const IfcParse::entity &Class()