Class Ifc4x3_rc1::IfcGroup

Nested Relationships

This class is a nested type of Struct Ifc4x3_rc1.

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class Ifc4x3_rc1::IfcGroup : public Ifc4x3_rc1::IfcObject

IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects.

NOTE Use IfcRelDecomposes together with the appropriate subtypes of IfcProduct to define an aggregation of products that may have its own position and shape representation.

EXAMPLE An example for a group is a system, since it groups elements under the aspect of their role, regardless of their position in a building.

A group can hold any collection of objects (beingproducts, processes, controls, resources, actors or other groups). Thus groups can be nested. An object can be part of zero, one, or many groups. Grouping relationships are not required to be hierarchical nor do they imply a dependency.

NOTE Use IfcRelDecomposes together with the appropriate subtypes of IfcProduct to define an hierarchical aggregation of products.

A group can be exchanged without having already objects within the group collection.

HISTORY New entity in IFC Release 1.0.

IFC2x4 CHANGE The inverse IsGroupedBy relationship is set to 0..n

Relationship use definition The group collection is handled by an instance of IfcRelAssignsToGroup, which assigns all group members to the IfcGroup.

Objects: included in group using IfcRelAssignsToGroup

Groups are assigned to other objects (such as a process or a resource) by the relationship object that refers to the corresponding object:

Process: assigned using IfcRelAssignsToProcess Resource: assigned using IfcRelAssignsToResource

Groups can be subjected to a control. The control information is then assigned:

Controls: affecting the group using IfcRelAssignsToControl

Subclassed by Ifc4x3_rc1::IfcAsset, Ifc4x3_rc1::IfcInventory, Ifc4x3_rc1::IfcStructuralLoadGroup, Ifc4x3_rc1::IfcStructuralResultGroup, Ifc4x3_rc1::IfcSystem

Public Types

typedef IfcTemplatedEntityList<IfcGroup> list

Public Functions

IfcTemplatedEntityList<IfcRelAssignsToGroup>::ptr IsGroupedBy() const
const IfcParse::entity &declaration() const
IfcGroup(IfcEntityInstanceData *e)
IfcGroup(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType)

Public Static Functions

const IfcParse::entity &Class()