Class Ifc4::IfcContext

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class Ifc4::IfcContext : public Ifc4::IfcObjectDefinition

IfcContext is the generalization of a project context in which objects, type objects, property sets, and properties are defined. The IfcProject as subtype of IfcContext provides the context for all information on a construction project, it may include one or several IfcProjectLibrary as subtype of IfcContext to register the included libraries for the project.

Context definitions can be named, using the inherited Name attribute, which should be a user recognizable key or number for the context. The LongName can add a full name. Further explanations to the context can be given using the inherited Description attribute.

HISTORY New abstract entity in IFC2x4.

Relationship use definition Contexts are declared by the relationship object that refers to the corresponding object:

Project library to project: IfcProjectLibrary is assigned to IfcProject (both subtypes of using IfcContext) by using IfcRelDeclares

More specific relationships are introduced at the level of subtypes.

Subclassed by Ifc4::IfcProject, Ifc4::IfcProjectLibrary

Public Types

typedef IfcTemplatedEntityList<IfcContext> list

Public Functions

bool hasObjectType() const

Whether the optional attribute ObjectType is defined for this IfcContext.

std::string ObjectType() const

The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes.

void setObjectType(std::string v)
bool hasLongName() const

Whether the optional attribute LongName is defined for this IfcContext.

std::string LongName() const

Long name for the context as used for reference purposes.

void setLongName(std::string v)
bool hasPhase() const

Whether the optional attribute Phase is defined for this IfcContext.

std::string Phase() const

Current project phase, or life-cycle phase of this project. Applicable values have to be agreed upon by view definitions or implementer agreements.

void setPhase(std::string v)
bool hasRepresentationContexts() const

Whether the optional attribute RepresentationContexts is defined for this IfcContext.

IfcTemplatedEntityList<::Ifc4::IfcRepresentationContext>::ptr RepresentationContexts() const

Context of the representations used within the context. When the context is a project and it includes shape representations for its components, one or several geometric representation contexts need to be included that define e.g. the world coordinate system, the coordinate space dimensions, and/or the precision factor.

IFC2x4 CHANGE The attribute has been changed to be optional. Change made with upward compatibility for file based exchange.

void setRepresentationContexts(IfcTemplatedEntityList<::Ifc4::IfcRepresentationContext>::ptr v)
bool hasUnitsInContext() const

Whether the optional attribute UnitsInContext is defined for this IfcContext.

::Ifc4::IfcUnitAssignment *UnitsInContext() const

Units globally assigned to measure types used within the context.

IFC2x4 CHANGE The attribute has been changed to be optional. Change made with upward compatibility for file based exchange.

void setUnitsInContext(::Ifc4::IfcUnitAssignment *v)
IfcTemplatedEntityList<IfcRelDefinesByProperties>::ptr IsDefinedBy() const
IfcTemplatedEntityList<IfcRelDeclares>::ptr Declares() const
const IfcParse::entity &declaration() const
IfcContext(IfcEntityInstanceData *e)
IfcContext(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, boost::optional<std::string> v6_LongName, boost::optional<std::string> v7_Phase, boost::optional<IfcTemplatedEntityList<::Ifc4::IfcRepresentationContext>::ptr> v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment *v9_UnitsInContext)

Public Static Functions

const IfcParse::entity &Class()