Class Ifc4::IfcConstructionResourceType

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class Ifc4::IfcConstructionResourceType : public Ifc4::IfcTypeResource

IfcConstructionResourceType is an abstract generalization of the different resource types used in construction projects, mainly labor, material, equipment and product resource types, plus subcontracted resource types and aggregations such as a crew resource type.

A resource type represents a model of “use of something” and does not necessarily correspond to a specific type of object such as a person or vehicle, but represents possible usages of such objects such as general labor or an equipment fleet. A resource type can either represent usage in general (consumption attributes defined but no task type assignment) or a task-specific resource type (production attributes defined and having an IfcTask assignment).

A construction resource type captures common productivities and cost rates for applying resources to particular task types.

HISTORY: New entity in IFC2x4.

Composition use definition Resource types may be decomposed into nested resource types indicating productivities when applying the resource to specific task types using the IfcRelNests relationship where IfcRelNests.RelatingObject refers to the general resource type and IfcRelNests.RelatedObjects refers to one or more task-specific productivities. For example, an IfcLaborResourceType may be defined for “Carpenter” which may have a nested IfcLaborResourceType for “Carpenter - Wall Framing” and another nested IfcLaborResourceType for “Carpenter - Drywall”, each of which may have productivities based according to specific task types (IfcTaskType).

Assignment use definition Resource types may be assigned to process types (IfcTypeProcess subtypes) using the IfcRelAssignsToProcess relationship as shown in Figure 193. Such relationship indicates that the resource type applies to the process type for the use indicated (e.g. IfcTaskType.PredefinedType). Such relationship enables a scenario of placing an IfcProduct of a particular IfcTypeProduct, querying for a set of IfcTypeProcess process types for constructing such product (e.g. IfcTaskTypeEnum.CONSTRUCTION), querying each IfcTypeProcess for a set of IfcTypeResource resource types for carrying out the process, and finally choosing an IfcTypeProcess and IfcTypeResource combination resulting in the shortest time for instantiated IfcTask occurrence(s) and/or lowest-cost for instantiated IfcConstructionResource occurrence(s).

Figure 193 — Construction resource type assignment

Subclassed by Ifc4::IfcConstructionEquipmentResourceType, Ifc4::IfcConstructionMaterialResourceType, Ifc4::IfcConstructionProductResourceType, Ifc4::IfcCrewResourceType, Ifc4::IfcLaborResourceType, Ifc4::IfcSubContractResourceType

Public Functions

bool hasBaseCosts() const

Whether the optional attribute BaseCosts is defined for this IfcConstructionResourceType.

IfcTemplatedEntityList<::Ifc4::IfcAppliedValue>::ptr BaseCosts() const
void setBaseCosts(IfcTemplatedEntityList<::Ifc4::IfcAppliedValue>::ptr v)
bool hasBaseQuantity() const

Whether the optional attribute BaseQuantity is defined for this IfcConstructionResourceType.

::Ifc4::IfcPhysicalQuantity *BaseQuantity() const
void setBaseQuantity(::Ifc4::IfcPhysicalQuantity *v)
const IfcParse::entity &declaration() const
IfcConstructionResourceType(IfcEntityInstanceData *e)
IfcConstructionResourceType(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_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc4::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<std::string> v7_Identification, boost::optional<std::string> v8_LongDescription, boost::optional<std::string> v9_ResourceType, boost::optional<IfcTemplatedEntityList<::Ifc4::IfcAppliedValue>::ptr> v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity *v11_BaseQuantity)

Public Static Functions

const IfcParse::entity &Class()