Class Ifc4::IfcLaborResource

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcLaborResource : public Ifc4::IfcConstructionResource

An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work.

HISTORY: New Entity in IFC Release 2.0. Base type and documentation extended in IFC 2x4.

IFC2x4 CHANGE: The attribute Skillset has been deleted; use LongDescription to describe the skillset.

The purpose of an IfcLaborResource is to identify a skillset that may be required or used. The skillset identified may be (for instance) chargehand, foreman, labourer, plumbers mate etc. and provides a designation of a particular level of skill. It can be used to identify the generic type of labor resource that is required for a purpose without having to be specific about the actor (person or organization) providing the resource occurrence. It may be particularly useful when creating an overall plan for a process or processes. For instance, within maintenance or work planning there may be a known task that needs to be done which is planned to require a ‘chargehand pipe fitter’. There may be several such labor resources available and so the need to identify which will be used is not necessary at the planning stage.

At a later stage, individual actors can be determined for the labor resources. This is achieved through specifiying the actor through IfcActor. The actor is then identified as the labour resource occurrence through the IfcRelAssignsToResource.RelatedResource attribute. The IfcLaborResource provides the IfcRelAssignsToResource.RelatingResource attribute.

Use definitions for composition, assignment, constraints, time series, and baselines are described at the base type IfcConstructionResource.

Type use definition IfcLaborResource defines the occurrence of any labor resource; common information about labor resource types is handled by IfcLaborResourceType. The IfcLaborResourceType (if present) may establish the common type name, common properties, common productivities for various task types using IfcRelAssignsToProcess. The IfcLaborResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

Quantity use definition The quantities relating to the IfcLaborResource are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement.

Qto_LaborResourceBaseQuantities: base quantities for all labor resources.

Assignment use definition In addition to assignments specified at the base class IfcConstructionResource, a labor resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcLaborResource and RelatedObjects contains one or more IfcActor subtypes as shown in Figure 194. Such relationship indicates the specific people used as input for the resource. Such actors are nested according to organizational structure with the root organization assigned to the IfcProject. The IfcActor entity is used to represent the people or organizations.

Figure 194 — Labor resource assignment use

Public Types

typedef IfcTemplatedEntityList<IfcLaborResource> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcLaborResource.

::Ifc4::IfcLaborResourceTypeEnum::Value PredefinedType() const

Defines types of labor resources. IFC2x4 New attribute

void setPredefinedType(::Ifc4::IfcLaborResourceTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcLaborResource(IfcEntityInstanceData *e)
IfcLaborResource(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_Identification, boost::optional<std::string> v7_LongDescription, ::Ifc4::IfcResourceTime *v8_Usage, boost::optional<IfcTemplatedEntityList<::Ifc4::IfcAppliedValue>::ptr> v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity *v10_BaseQuantity, boost::optional<::Ifc4::IfcLaborResourceTypeEnum::Value> v11_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()