|
CFx SDK Documentation 2026 SP0
|
#include <IfcRelSpaceBoundaryAutoImpl.h>
Public Member Functions | |
| IfcSpaceBoundarySelect | relatingSpace () |
| const OdDAIObjectId & | getRelatedBuildingElement () const |
| void | setRelatedBuildingElement (const OdDAIObjectId &RelatedBuildingElement) |
| const OdDAIObjectId & | getConnectionGeometry () const |
| void | setConnectionGeometry (const OdDAIObjectId &ConnectionGeometry) |
| IfcPhysicalOrVirtualEnum | getPhysicalOrVirtualBoundary () const |
| void | setPhysicalOrVirtualBoundary (IfcPhysicalOrVirtualEnum PhysicalOrVirtualBoundary) |
| IfcInternalOrExternalEnum | getInternalOrExternalBoundary () const |
| void | setInternalOrExternalBoundary (IfcInternalOrExternalEnum InternalOrExternalBoundary) |
| IfcRelSpaceBoundary () | |
| virtual OdResult | inFields (OdDAI::OdSpfFilerBase *rdFiler) override |
| virtual OdResult | outFields (OdDAI::OdSpfFilerBase *wrFiler) override |
| virtual void | setInverseCounterParts () override |
| virtual OdDAI::Entity * | getInstanceType () const override |
| virtual OdRxValue | getAttr (const char *attrName) const override |
| virtual void | unsetAttr (const char *explicitAttrName) override |
| virtual bool | testAttr (const char *explicitAttrName) const override |
| virtual bool | putAttr (const char *explicitAttrName, const OdRxValue &val) override |
| virtual bool | isKindOf (OdIfc::OdIfcEntityType entityType) const override |
| virtual OdIfc::OdIfcEntityType | type () const override |
| virtual OdRxValue | getAttr (const OdIfc::OdIfcAttribute attrDef) const override |
| virtual void | unsetAttr (const OdIfc::OdIfcAttribute explicitAttrDef) override |
| virtual bool | testAttr (const OdIfc::OdIfcAttribute explicitAttrDef) const override |
| virtual bool | putAttr (const OdIfc::OdIfcAttribute explicitAttrDef, const OdRxValue &val) override |
Public Member Functions inherited from OdIfc4x2::IfcRoot | |
| OdDAI::CompressedGUID | getGlobalId () const |
| void | setGlobalId (OdDAI::CompressedGUID GlobalId) |
| const OdDAIObjectId & | getOwnerHistory () const |
| void | setOwnerHistory (const OdDAIObjectId &OwnerHistory) |
| const OdAnsiString & | getName () const |
| void | setName (const OdAnsiString &Name) |
| const OdAnsiString & | getDescription () const |
| void | setDescription (const OdAnsiString &Description) |
| IfcRoot () | |
Public Member Functions inherited from OdIfc4x2::OdIfc4x2Instance | |
| void | setInverseCounterParts () override |
Public Member Functions inherited from OdIfc::OdIfcInstance | |
| ODRX_DECLARE_MEMBERS (OdIfcInstance) | |
| OdIfcInstance () | |
| ~OdIfcInstance () | |
| bool | isInstanceOf (OdIfcEntityType entityType) const |
| IfcOpResult | resolved () |
| void | resolve (IfcOpResult resolved, void *resPtr) |
| void | unresolve () |
| virtual void | setGsNode (OdGsCache *pGsNode) |
| virtual OdGsCache * | gsNode () const |
| virtual OdUInt32 | subSetAttributes (OdGiDrawableTraits *traits) const |
| virtual bool | subWorldDraw (OdGiWorldDraw *wd) const |
| virtual OdDbStub * | ownerId () const |
Protected Attributes | |
| OdDAI::Select | m_RelatingSpace |
| OdDAIObjectId | m_RelatedBuildingElement |
| OdDAIObjectId | m_ConnectionGeometry |
| OdDAI::Enum | m_PhysicalOrVirtualBoundary |
| OdDAI::Enum | m_InternalOrExternalBoundary |
Protected Attributes inherited from OdIfc4x2::IfcRoot | |
| OdDAI::CompressedGUID | m_GlobalId |
| OdDAIObjectId | m_OwnerHistory |
| OdAnsiString | m_Name |
| OdAnsiString | m_Description |
Protected Attributes inherited from OdIfc::OdIfcInstance | |
| void * | m_resPtr |
| IfcOpResult | m_resolved |
Additional Inherited Members | |
Static Public Member Functions inherited from OdIfc::OdIfcInstance | |
| static const OdGePoint3d * | asPoint3d (const OdIfcInstance *inst) |
| static const OdGePoint2d * | asPoint2d (const OdIfcInstance *inst) |
| static const OdGeVector3d * | asVector3d (const OdIfcInstance *inst) |
| static const OdGeVector2d * | asVector2d (const OdIfcInstance *inst) |
| static const OdGeMatrix2d * | asMatrix2d (const OdIfcInstance *inst) |
| static const OdGeMatrix3d * | asMatrix3d (const OdIfcInstance *inst) |
| static OdIfcCompoundPtr | asCompound (OdSmartPtr< OdIfcInstance > inst) |
| static const OdCmEntityColor * | asRgbColor (const OdIfcInstance *inst) |
The space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary to the surrounding elements.
The IfcRelSpaceBoundary is defined as an objectified relationship that handles the element to space relationship by objectifying the relationship between an element and the space it bounds. It is given as a one-to-one relationship, but allows each element (including virtual elements and openings) to define many such relationship and each space to be defined by many such relationships.
1st level space boundary: defined as boundaries of the space, not taking into account any change in building element or spaces on the other side. 2nd level space boundary: defined as boundary taking any change in building element or spaces on the other side into account. It can be further distinguished into: 2nd level type A: There is a space on the other side. 2nd level type B: There is a building element on the other side.
The exact definition of how space boundaries are broken down depends on the view definition, more detailed conventions on how space boundaries are decomposed can only be given at the domain or application type level. In an architectural or FM related view, a space boundary is defined totally from inside the space. This is a 1st level space boundary. In a thermal view, the decomposition of the space boundary depends on the material of the providing building element and the adjacent spaces behind. This is a 2nd level space boundary.
<IMAGE ifcrelspaceboundary_1stlevel>
Space boundary at second level:
<IMAGE ifcrelspaceboundary_2ndlevel>
Space boundary at second level type A:
<IMAGE ifcrelspaceboundary_2ndlevel_typea>
Space boundary at second level type B:
<IMAGE ifcrelspaceboundary_2ndlevel_typeb>
The differences between the 1st and 2nd level space boundaries is identified by: 1st level: SELF\IfcRoot.Name = "1stLevel" SELF\IfcRootDescription = NIL 2nd level: SELF\IfcRoot.Name = "2ndLevel" SELF\IfcRootDescription = "2a", or "2b"
As shown on the image below, if the IfcRelSpaceBoundary is used to express a virtual boundary, the attribute PhysicalOrVirtualBoundary has to be set to VIRTUAL. The attribute RelatedBuildingElement shall point to an instance of IfcVirtualElement. If the correct location is of interest, the attribute ConnectionGeometry is required.
<IMAGE ifcrelspaceboundary_virtual>
As shown on the image below, if the IfcRelSpaceBoundary is used to express a physical boundary between two spaces, the attribute PhysicalOrVirtualBoundary has to be set to PHYSICAL. The attribute RelatedBuildingElement has to be given and points to the element providing the space boundary. The attribute ConnectionGeometry can be inserted, in this case it describes the physical space boundary geometically, or it can be omitted, in that case it describes a physical space boundary logically.
<IMAGE ifcrelspaceboundary_physical>
The IfcRelSpaceBoundary can have geometry attached. If geometry is not attached, the relationship between space and building element is handled only on a logical level. If geometry is attached, it is given within the local coordinate systems of the space.
\changes
IFC2X_FINAL changes: The data type of the attribute_RelatedBuildingElement_ has been changed from IfcBuildingElement to its supertype IfcElement. The data type of the attribute ConnectionGeometry has been changed from IfcConnectionSurfaceGeometry to its supertype IfcConnectionGeometry. IFC4 changes: The attribute RelatedBuildingElement has been made mandatory. For virtual boundaries the reference to IfcVirtualElement is now mandatory. The RelatedBuildingElement attribute is no longer optional. Type of the RelatingSpace attribute changed from IfcSpace to IfcSpaceBoundarySelect.
Definition at line 105 of file Ifc4x2/IfcRelSpaceBoundaryAutoImpl.h.
| OdIfc4x2::IfcRelSpaceBoundary::IfcRelSpaceBoundary | ( | ) |
Default constructor for the IfcRelSpaceBoundary class.
|
overridevirtual |
Returns an attribute value for the specified attribute name.
| attrName | [in] Name of an attribute to query. |
Reimplemented from OdIfc4x2::IfcRoot.
Reimplemented in OdIfc4x2::IfcRelSpaceBoundary1stLevel, and OdIfc4x2::IfcRelSpaceBoundary2ndLevel.
|
overridevirtual |
Returns an attribute value for the specified attribute definition.
| attrDef | [in] Attribute definition to query. |
Reimplemented from OdIfc4x2::IfcRoot.
Reimplemented in OdIfc4x2::IfcRelSpaceBoundary1stLevel, and OdIfc4x2::IfcRelSpaceBoundary2ndLevel.
| const OdDAIObjectId & OdIfc4x2::IfcRelSpaceBoundary::getConnectionGeometry | ( | ) | const |
Returns the value of ConnectionGeometry attribute. This attribute represents physical representation of the space boundary. Provided as a curve or surface given within the LCS of the space.
|
overridevirtual |
Returns a type of a class instance.
Reimplemented from OdIfc4x2::IfcRelConnects.
Reimplemented in OdIfc4x2::IfcRelSpaceBoundary1stLevel, and OdIfc4x2::IfcRelSpaceBoundary2ndLevel.
| IfcInternalOrExternalEnum OdIfc4x2::IfcRelSpaceBoundary::getInternalOrExternalBoundary | ( | ) | const |
Returns the value of InternalOrExternalBoundary attribute. This attribute defines whether the Space Boundary is internal (Internal), or external, i.e. adjacent to open space (that can be an partially enclosed space, such as terrace (External).
| IfcPhysicalOrVirtualEnum OdIfc4x2::IfcRelSpaceBoundary::getPhysicalOrVirtualBoundary | ( | ) | const |
Returns the value of PhysicalOrVirtualBoundary attribute. This attribute defines, whether the Space Boundary is physical (Physical) or virtual (Virtual).
| const OdDAIObjectId & OdIfc4x2::IfcRelSpaceBoundary::getRelatedBuildingElement | ( | ) | const |
Returns the value of RelatedBuildingElement attribute. This attribute represents reference to Building Element, that defines the Space Boundaries.
|
overridevirtual |
Reads object's data from the specified filer.
| rdFiler | [in] Pointer to a filer from which to read the data. |
Reimplemented from OdIfc4x2::IfcRoot.
Reimplemented in OdIfc4x2::IfcRelSpaceBoundary1stLevel, and OdIfc4x2::IfcRelSpaceBoundary2ndLevel.
|
overridevirtual |
Checks whether the specified instance is the object derived from or belongs to this class.
| entityType | [in] Entity to check. |
Reimplemented from OdIfc4x2::IfcRelConnects.
Reimplemented in OdIfc4x2::IfcRelSpaceBoundary1stLevel, and OdIfc4x2::IfcRelSpaceBoundary2ndLevel.
|
overridevirtual |
Writes object's data the the specified filer.
| wrFiler | [in] Pointer to a filer to which to write the data. |
Reimplemented from OdIfc4x2::IfcRoot.
Reimplemented in OdIfc4x2::IfcRelSpaceBoundary1stLevel, and OdIfc4x2::IfcRelSpaceBoundary2ndLevel.
|
overridevirtual |
Sets the specified attribute with a given value.
| explicitAttrName | [in] Explicit name of the attribute to set. |
| val | [in] Value to set. |
Reimplemented from OdIfc4x2::IfcRoot.
Reimplemented in OdIfc4x2::IfcRelSpaceBoundary1stLevel, and OdIfc4x2::IfcRelSpaceBoundary2ndLevel.
|
overridevirtual |
Sets the specified attribute with a given value.
| explicitAttrDef | [in] Explicit attribute definition to set. |
| val | [in] Value to set. |
Reimplemented from OdIfc4x2::IfcRoot.
Reimplemented in OdIfc4x2::IfcRelSpaceBoundary1stLevel, and OdIfc4x2::IfcRelSpaceBoundary2ndLevel.
| IfcSpaceBoundarySelect OdIfc4x2::IfcRelSpaceBoundary::relatingSpace | ( | ) |
Returns the value of RelatingSpace attribute. This attribute represents reference to one spaces that is delimited by this boundary.
| void OdIfc4x2::IfcRelSpaceBoundary::setConnectionGeometry | ( | const OdDAIObjectId & | ConnectionGeometry | ) |
Sets the value of ConnectionGeometry attribute. This attribute represents physical representation of the space boundary. Provided as a curve or surface given within the LCS of the space.
| ConnectionGeometry | [in] ConnectionGeometry to set. |
| void OdIfc4x2::IfcRelSpaceBoundary::setInternalOrExternalBoundary | ( | IfcInternalOrExternalEnum | InternalOrExternalBoundary | ) |
Sets the value of InternalOrExternalBoundary attribute. This attribute defines whether the Space Boundary is internal (Internal), or external, i.e. adjacent to open space (that can be an partially enclosed space, such as terrace (External).
| InternalOrExternalBoundary | [in] InternalOrExternalBoundary to set. |
|
overridevirtual |
Sets the object ID of this instance to inverse attributes of related instances according to schema specification of inverse attributes.
Reimplemented in OdIfc4x2::IfcRelSpaceBoundary1stLevel, and OdIfc4x2::IfcRelSpaceBoundary2ndLevel.
| void OdIfc4x2::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary | ( | IfcPhysicalOrVirtualEnum | PhysicalOrVirtualBoundary | ) |
Sets the value of PhysicalOrVirtualBoundary attribute. This attribute defines, whether the Space Boundary is physical (Physical) or virtual (Virtual).
| PhysicalOrVirtualBoundary | [in] PhysicalOrVirtualBoundary to set. |
| void OdIfc4x2::IfcRelSpaceBoundary::setRelatedBuildingElement | ( | const OdDAIObjectId & | RelatedBuildingElement | ) |
Sets the value of RelatedBuildingElement attribute. This attribute represents reference to Building Element, that defines the Space Boundaries.
| RelatedBuildingElement | [in] RelatedBuildingElement to set. |
|
overridevirtual |
Checks whether the specified attribute is set.
| explicitAttrName | [in] Explicit name of the attribute to test. |
Reimplemented from OdIfc4x2::IfcRoot.
Reimplemented in OdIfc4x2::IfcRelSpaceBoundary1stLevel, and OdIfc4x2::IfcRelSpaceBoundary2ndLevel.
|
overridevirtual |
Checks whether the specified attribute is set.
| explicitAttrDef | [in] Attribute definition to test. |
Reimplemented from OdIfc4x2::IfcRoot.
Reimplemented in OdIfc4x2::IfcRelSpaceBoundary1stLevel, and OdIfc4x2::IfcRelSpaceBoundary2ndLevel.
|
overridevirtual |
Returns the type of this entity.
Reimplemented from OdIfc4x2::IfcRelConnects.
Reimplemented in OdIfc4x2::IfcRelSpaceBoundary1stLevel, and OdIfc4x2::IfcRelSpaceBoundary2ndLevel.
|
overridevirtual |
Resets a value for the specified attribute.
| explicitAttrName | [in] Explicit name of the attribute to reset. |
Reimplemented from OdIfc4x2::IfcRoot.
Reimplemented in OdIfc4x2::IfcRelSpaceBoundary1stLevel, and OdIfc4x2::IfcRelSpaceBoundary2ndLevel.
|
overridevirtual |
Resets a value for the specified attribute.
| explicitAttrDef | [in] Explicit definition that represents an attribute to reset. |
Reimplemented from OdIfc4x2::IfcRoot.
Reimplemented in OdIfc4x2::IfcRelSpaceBoundary1stLevel, and OdIfc4x2::IfcRelSpaceBoundary2ndLevel.
|
protected |
Definition at line 322 of file Ifc4x2/IfcRelSpaceBoundaryAutoImpl.h.
|
protected |
Definition at line 324 of file Ifc4x2/IfcRelSpaceBoundaryAutoImpl.h.
|
protected |
Definition at line 323 of file Ifc4x2/IfcRelSpaceBoundaryAutoImpl.h.
|
protected |
Definition at line 321 of file Ifc4x2/IfcRelSpaceBoundaryAutoImpl.h.
|
protected |
Definition at line 320 of file Ifc4x2/IfcRelSpaceBoundaryAutoImpl.h.