Class Ifc4x3_rc1::IfcPermit

Nested Relationships

This class is a nested type of Struct Ifc4x3_rc1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x3_rc1::IfcPermit : public Ifc4x3_rc1::IfcControl

A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply.

HISTORY New entity in IFC2x2 IFC2x4 CHANGE PermitID renamed to Identification and promoted to supertype IfcControl, Attributes PredefinedType, Status, and LongDescription added.

Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Refer to the documentation at the supertype IfcControl and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_Permit

Declaration Use Definition The IfcPermit may be declared within the project using the IfcRelDeclares relationship where RelatingContext refers to the single IfcProject and RelatedDefinitions contains the IfcPermit. Alternatively, if the IfcPermit is aggregated within an IfcWorkPlan, then it shall not have a direct declaration relationship (whereas the containing work plan may have a declaration relationship).

Composition Use Definition The IfcPermit may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcPermit and RelatedObjects contains one or more components. Aggregation use is defined for the following predefined types:

ACCESS: May contain IfcWorkCalendar components. A work calendar may indicate the time period of the permit and allowed times when work may be performed. Such work calendar may have assigned resources indicating equipment or labor permitted at various times. WORK: May contain IfcWorkSchedule components. A work schedule may indicate tasks and scheduled times where the work schedule type may designate whether tasks and/or times are planned or actual. Such work schedule may have assigned tasks indicating detail, where tasks may be assigned to products and may have assigned resources.

As shown in Figure 159, an IfcPermit may be nested into sub-items using IfcRelNests where RelatingObject refers to the enclosing IfcPermit and RelatedObjects contains one or more sub-items. Nesting use is defined for the following predefined types:

(All Types): May contain IfcPermit sub-items. A permit may be nested to indicate permit ammendments, in order of issue.

Figure 159 — Permit composition

Assignment Use Definition As shown in Figure 160, an IfcPermit may be assigned to the following entities using relationships as indicated:

IfcActor (IfcRelAssignsToActor): Organization issuing the permit such as a local government agency or security organization.

The IfcPermit may have assignments of its own using the IfcRelAssignsToControl relationship where RelatingControl refers to the IfcPermit and RelatedObjects contains one or more objects of the following types: IfcActor: Organization(s) bound to the permit, typically a single contractor.

Figure 160 — Permit assignment

Approval Use Definition Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted.

Public Types

typedef IfcTemplatedEntityList<IfcPermit> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcPermit.

::Ifc4x3_rc1::IfcPermitTypeEnum::Value PredefinedType() const

Identifies the predefined types of permit that can be granted.

IFC2x4 CHANGE The attribute has been added.

void setPredefinedType(::Ifc4x3_rc1::IfcPermitTypeEnum::Value v)
bool hasStatus() const

Whether the optional attribute Status is defined for this IfcPermit.

std::string Status() const

The status currently assigned to the permit.

IFC2x4 CHANGE The attribute has been added.

void setStatus(std::string v)
bool hasLongDescription() const

Whether the optional attribute LongDescription is defined for this IfcPermit.

std::string LongDescription() const

Detailed description of the request.

IFC2x4 CHANGE The attribute has been added.

void setLongDescription(std::string v)
const IfcParse::entity &declaration() const
IfcPermit(IfcEntityInstanceData *e)
IfcPermit(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, boost::optional<std::string> v6_Identification, boost::optional<::Ifc4x3_rc1::IfcPermitTypeEnum::Value> v7_PredefinedType, boost::optional<std::string> v8_Status, boost::optional<std::string> v9_LongDescription)

Public Static Functions

const IfcParse::entity &Class()