Class Ifc4::IfcClassificationReference

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcClassificationReference : public Ifc4::IfcExternalReference

An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation).

The inherited attributes have the following meaning:

Identification: holds the key provided for a specific references to classification items (or tables). Name: allows for a human interpretable designation of a classification notation. Location: optionally holds a direct URI link into the classification system (or source) to hyperlink the classification key.

The IfcClassificationReference can either be assigned directly to the IfcClassification, such as if no classification hierarchy has to be included, or it references the parent classification notation, if the fully classification hierarchy is included in the data set. The attribute ReferencedSource then holds the following information (choice by IfcClassificationReferenceSelect):

being of type IfcClassification: direct reference to the classification system (with meta information provided), used for highest level of classification notations, or if the classification notation hierarchy is not relevant, being of type IfcClassificationReference: reference to the parent classification notation within the classification hierarchy.

HISTORY New entity in IFC 2x.

IFC2x4 CHANGE The attribute Description and inverse attribute HasReferences are added. The attribute Identification has been renamed from ItemReference.

Use definitions The IfcClassificationReference can be used to only assign classification keys to objects, or to hold a fully classification hierarchy. The first is refered to as “lightweight classification”, and the second as “full classification”

The IfcClassificationReference can be used as a form of ‘lightweight’ classification through the ‘Identification’ attribute inherited from the abstract IfcExternalReference class. In this case, the ‘Identification’ could take (for instance) the Uniclass notation “L6814” which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title “Tanking”. This would remove the need for the overhead of the more complete classification structure of the model.

Public Functions

bool hasReferencedSource() const

Whether the optional attribute ReferencedSource is defined for this IfcClassificationReference.

::Ifc4::IfcClassificationReferenceSelect *ReferencedSource() const

The classification system or source that is referenced.

void setReferencedSource(::Ifc4::IfcClassificationReferenceSelect *v)
bool hasDescription() const

Whether the optional attribute Description is defined for this IfcClassificationReference.

std::string Description() const

Description of the classification reference for informational purposes.

IFC2x4 CHANGE New attribute added at the end of the attribute list.

void setDescription(std::string v)
bool hasSort() const

Whether the optional attribute Sort is defined for this IfcClassificationReference.

std::string Sort() const
void setSort(std::string v)
IfcTemplatedEntityList<IfcRelAssociatesClassification>::ptr ClassificationRefForObjects() const
IfcTemplatedEntityList<IfcClassificationReference>::ptr HasReferences() const
const IfcParse::entity &declaration() const
IfcClassificationReference(IfcEntityInstanceData *e)
IfcClassificationReference(boost::optional<std::string> v1_Location, boost::optional<std::string> v2_Identification, boost::optional<std::string> v3_Name, ::Ifc4::IfcClassificationReferenceSelect *v4_ReferencedSource, boost::optional<std::string> v5_Description, boost::optional<std::string> v6_Sort)

Public Static Functions

const IfcParse::entity &Class()