Class Ifc4::IfcRelDefinesByType¶
Defined in File Ifc4.h
Nested Relationships¶
This class is a nested type of Struct Ifc4.
Inheritance Relationships¶
Base Type¶
public Ifc4::IfcRelDefines
(Class Ifc4::IfcRelDefines)
Class Documentation¶
-
class
Ifc4
::
IfcRelDefinesByType
: public Ifc4::IfcRelDefines¶ The objectified relationship IfcRelDefinesByType defines the relationship between an object type and object occurrences. The IfcRelDefinesByType is a 1-to-N relationship, as it allows for the assignment of one type information to a single or to many objects. Those objects then share the same object type, and the property sets and properties assigned to the object type.
HISTORY New entity in IFC2x.
IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByType.
Relationship use definition
The IfcRelDefinesByType links the object type definition with the object occurrence. Both may define properties by assigning an IfcPropertySet, including one or many subtypes of IfcProperty to either the object type or object occurrence, as shown in Figure 8. There are several scenarios to define the same property set on the object type definition and object occurrence side:
All properties for all object occurrences of a common object type have the same value - then only the object type definition has a property set assigned. All properties for all object occurrences are different, that is there are no common property values for the object type definition - then each of the object occurrence has a property set assigned. Some properties within the same property set have common values and are assigned to the object type definition and some are occurrence specific and assigned (with potentially different values) to the object occurrences - then:
The sum of all properties within a given property set applicable to an object occurrence is the union of properties assigned to the object type definition plus the properties assigned to the object occurrence. If the object occurrence has a property with the same IfcProperty.Name in an IfcPropertySet, as the corresponding object type definition, then the occurrence property value overrides the type property value.
Figure 8 — Type definition relationships
The following table provides an example of assigning
properties assigned to IfcWall properties assigned to IfcWallType resulting property value for individual wall
Pset_WallCommon Pset_WallCommon
-ExtendToStructure = TRUE
TRUE
-ThermalTransmittance = 0.375 0.375
-ExtendToStructure = FALSE -ExtendToStructure = TRUE FALSE
Public Types
-
typedef IfcTemplatedEntityList<IfcRelDefinesByType>
list
¶
Public Functions
-
IfcTemplatedEntityList<::Ifc4::IfcObject>::ptr
RelatedObjects
() const¶
-
void
setRelatedObjects
(IfcTemplatedEntityList<::Ifc4::IfcObject>::ptr v)¶
-
::Ifc4::IfcTypeObject *
RelatingType
() const¶ Reference to the type (or style) information for that object or set of objects.
-
void
setRelatingType
(::Ifc4::IfcTypeObject *v)¶
-
IfcRelDefinesByType
(IfcEntityInstanceData *e)¶
-
IfcRelDefinesByType
(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::IfcTypeObject *v6_RelatingType)¶
-
typedef IfcTemplatedEntityList<IfcRelDefinesByType>