Class Ifc4::IfcRelDefinesByObject

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcRelDefinesByObject : public Ifc4::IfcRelDefines

The objectified relationship IfcRelDefinesByObject defines the relationship between an object taking part in an object type decomposition and an object occurrences taking part in an occurrence decomposition of that type. The IfcRelDefinesByObject is a 1-to-N relationship, as it allows for the assignment of one declaring object information to a single or to many reflected objects. Those objects then share the same object property sets and, for subtypes of IfcProduct, the eventually assigned representation maps. Only objects that take part in a type decomposition and in an occurrence decomposition of the same type can be connected by the IfcRelDefinesByObject relationship.

HISTORY New entity in IFC2x4.

Relationship use definition

The IfcRelDefinesByObject links the decomposed object type part, also called the “declaring part” with the occurrence of that part inside the occurrence of the decomposed type, also called the “reflected part”, as shown in Figure 6.

Figure 6 — Part definition relationships

The IfcRelDefinesByObject can be used together with the shape representations of the product type as shown in Figure 7. The IfcShapeRepresentation of the “declaring part” is referenced by the “reflected part”. The IfcObjectPlacement of the model occurrence (the whole) determines the position within the project context.

Figure 7 — Part definition relationships with shape representation

Public Types

typedef IfcTemplatedEntityList<IfcRelDefinesByObject> list

Public Functions

IfcTemplatedEntityList<::Ifc4::IfcObject>::ptr RelatedObjects() const

Objects being part of an object occurrence decomposition, acting as the “reflecting parts” in the relationship.

void setRelatedObjects(IfcTemplatedEntityList<::Ifc4::IfcObject>::ptr v)
::Ifc4::IfcObject *RelatingObject() const

Object being part of an object type decomposition, acting as the “declaring part” in the relationship.

void setRelatingObject(::Ifc4::IfcObject *v)
const IfcParse::entity &declaration() const
IfcRelDefinesByObject(IfcEntityInstanceData *e)
IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, IfcTemplatedEntityList<::Ifc4::IfcObject>::ptr v5_RelatedObjects, ::Ifc4::IfcObject *v6_RelatingObject)

Public Static Functions

const IfcParse::entity &Class()