Class Ifc4::IfcExternalReference

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class Ifc4::IfcExternalReference : public IfcUtil::IfcBaseEntity

An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a dictionary entry, a classification notation, or a document reference within the external source.

Only the Location (as a URL) is given to describe the place where the information can be found. Also an optional Identification as a key to allow more specific references (as to sections or tables) is provided. The Identification defines a system interpretable method to identify the relevant part of information at the source. In addition a human interpretable Name can be assigned to identify the information subject, such as a classification code.

IfcExternalReference is an abstract supertype of all external reference entities.

HISTORY New entity in IFC2x.

Subclassed by Ifc4::IfcClassificationReference, Ifc4::IfcDocumentReference, Ifc4::IfcExternallyDefinedHatchStyle, Ifc4::IfcExternallyDefinedSurfaceStyle, Ifc4::IfcExternallyDefinedTextFont, Ifc4::IfcLibraryReference

Public Types

typedef IfcTemplatedEntityList<IfcExternalReference> list

Public Functions

bool hasLocation() const

Whether the optional attribute Location is defined for this IfcExternalReference.

std::string Location() const

Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string.

IFC2x4 CHANGE The data type has been changed from IfcLabel to IfcURIReference.

void setLocation(std::string v)
bool hasIdentification() const

Whether the optional attribute Identification is defined for this IfcExternalReference.

std::string Identification() const

The Identification provides a unique identifier of the referenced item within the external source (classification, document or library). It may be provided as

a key, e.g. a classification notation, like NF2.3 a handle a uuid or guid

It may be human readable (such as a key) or not (such as a handle or uuid) depending on the context of its usage (which has to be determined by local agreement).

IFC2x4 CHANGE Attribute renamed from ItemReference for consistency.

void setIdentification(std::string v)
bool hasName() const

Whether the optional attribute Name is defined for this IfcExternalReference.

std::string Name() const

Optional name to further specify the reference. It can provide a human readable identifier (which does not necessarily need to have a counterpart in the internal structure of the document).

void setName(std::string v)
IfcTemplatedEntityList<IfcExternalReferenceRelationship>::ptr ExternalReferenceForResources() const
const IfcParse::entity &declaration() const
IfcExternalReference(IfcEntityInstanceData *e)
IfcExternalReference(boost::optional<std::string> v1_Location, boost::optional<std::string> v2_Identification, boost::optional<std::string> v3_Name)

Public Static Functions

const IfcParse::entity &Class()