Class Ifc4x1::IfcRelDeclares

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x1::IfcRelDeclares : public Ifc4x1::IfcRelationship

The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary).

The relationship handles the assignment of other objects, like IfcActor, or IfcTypeObject to the project, or project libary. The attribute RelatedDefinitions provides the references to the first level objects, that are the elements within the context. All other objects that relate to the first level objects are also defined in the context.

NOTE 1 Every object (as subtype of IfcObject) has to be declared within the context of a single IfcProject, or of a IfcProjectLibrary assigned to a single IfcProject. This declaration is transitive. For example: the IfcWorkPlan as first level object is declared within the context of IfcProject via IfcRelDeclares, all related IfcWorkSchedule’s are related to the context in a transitive way through IfcWorkPlan.

NOTE 2 The assignment excludes subtypes of IfcProduct’s, these are assigned to the IfcProject using the spatial structure approach through IfcSpatialStructureElement(s), where the outer container element such as IfcSite or IfcBuilding has an IfcRelAggregates relationship with the IfcProject.

The RelatingContext is the project, or project library that comprises all elements. The unit assignments and the presentation contexts defined at IfcProject or IfcProjectLibrary apply to all these elements.

HISTORY New entity in Release IFC2x4.

Public Types

typedef IfcTemplatedEntityList<IfcRelDeclares> list

Public Functions

::Ifc4x1::IfcContext *RelatingContext() const

Reference to the IfcProject to which additional information is assigned.

void setRelatingContext(::Ifc4x1::IfcContext *v)
IfcEntityList::ptr RelatedDefinitions() const

Set of object or property definitions that are assigned to a context and to which the unit and representation context definitions of that context apply.

void setRelatedDefinitions(IfcEntityList::ptr v)
const IfcParse::entity &declaration() const
IfcRelDeclares(IfcEntityInstanceData *e)
IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, ::Ifc4x1::IfcContext *v5_RelatingContext, IfcEntityList::ptr v6_RelatedDefinitions)

Public Static Functions

const IfcParse::entity &Class()