Class Ifc4x1::IfcRelContainedInSpatialStructure

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x1::IfcRelContainedInSpatialStructure : public Ifc4x1::IfcRelConnects

This objectified relationship, IfcRelContainedInSpatialStructure, is used to assign elements to a certain level of the spatial project structure. Any element can only be assigned once to a certain level of the spatial structure. The question, which level is relevant for which type of element, can only be answered within the context of a particular project and might vary within the various regions.

EXAMPLE A multi-storey space is contained (or belongs to) the building storey at which its ground level is, but it is referenced by all the other building storeys, in which it spans. A lift shaft might be contained by the basement, but referenced by all storeys, through which it spans.

The containment relationship of an element within a spatial structure has to be a hierarchical relationship, an element can only be contained within a single spatial structure element. The reference relationship between an element and the spatial structure may not be hierarchical, i.e. an element can reference many spatial structure elements.

NOTE The reference relationship is expressed by IfcRelReferencedInSpatialStructure.

Predefined spatial structure elements to which elements can be assigned are

site as IfcSite

building as IfcBuilding

storey as IfcBuildingStorey

space as IfcSpace

Occurrences of the same element type can be assigned to different spatial structure elements depending on the context of the occurrence.

EXAMPLE A wall might be normally assigned to a storey, however the curtain wall might be assigned to the building and the retaining wall in the terrain might be assigned to the site.

HISTORY New entity in IFC Release 2x.

IFC2x PLATFORM CHANGE: The data type of the attribute RelatedElements has been changed from IfcElement to its supertype IfcProduct with upward compatibility for file based exchange.

Containment Use Definition Figure 39 shows the use of IfcRelContainedInSpatialStructure to assign a stair and two walls to two different levels within the spatial structure.

Figure 39 — Relationship for spatial structure containment

Public Functions

IfcTemplatedEntityList<::Ifc4x1::IfcProduct>::ptr RelatedElements() const

Set of elements products, which are contained within this level of the spatial structure hierarchy.

IFC2x PLATFORM CHANGE The data type has been changed from IfcElement to IfcProduct with upward compatibility

void setRelatedElements(IfcTemplatedEntityList<::Ifc4x1::IfcProduct>::ptr v)
::Ifc4x1::IfcSpatialElement *RelatingStructure() const

Spatial structure element, within which the element is contained. Any element can only be contained within one element of the project spatial structure.

void setRelatingStructure(::Ifc4x1::IfcSpatialElement *v)
const IfcParse::entity &declaration() const
IfcRelContainedInSpatialStructure(IfcEntityInstanceData *e)
IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, IfcTemplatedEntityList<::Ifc4x1::IfcProduct>::ptr v5_RelatedElements, ::Ifc4x1::IfcSpatialElement *v6_RelatingStructure)

Public Static Functions

const IfcParse::entity &Class()