Class Ifc4::IfcPhysicalComplexQuantity

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcPhysicalComplexQuantity : public Ifc4::IfcPhysicalQuantity

The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element.

EXAMPLE: A layered element, like a wall, may have several material layers, each having individual quantities, like footprint area, side area and volume. An instance of IfcPhysicalComplexQuantity would group these individual quantities (given by a subtype of IfcPhysicalSimpleQuantity) and name them according to the material layer name by using the Name attribute. The Discrimination attribute would then be ‘layer’.

A section “Quantity Use Definition” at individual entities as subtypes of IfcBuildingElement gives guidance to the usage of the Name and Discrimination attribute to characterize the complex quantities.

HISTORY New entity in IFC2x2 Addendum 1.

IFC2x2 ADDENDUM 1 CHANGE The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed.

Public Functions

IfcTemplatedEntityList<::Ifc4::IfcPhysicalQuantity>::ptr HasQuantities() const

Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination.

void setHasQuantities(IfcTemplatedEntityList<::Ifc4::IfcPhysicalQuantity>::ptr v)
std::string Discrimination() const

Identification of the discrimination by which this physical complex property is distinguished. Examples of discriminations are ‘layer’, ‘steel bar diameter’, etc.

void setDiscrimination(std::string v)
bool hasQuality() const

Whether the optional attribute Quality is defined for this IfcPhysicalComplexQuantity.

std::string Quality() const

Additional indication of a quality of the quantities that are grouped under this physical complex quantity.

void setQuality(std::string v)
bool hasUsage() const

Whether the optional attribute Usage is defined for this IfcPhysicalComplexQuantity.

std::string Usage() const

Additional indication of a usage type of the quantities that are grouped under this physical complex quantity.

void setUsage(std::string v)
const IfcParse::entity &declaration() const
IfcPhysicalComplexQuantity(IfcEntityInstanceData *e)
IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional<std::string> v2_Description, IfcTemplatedEntityList<::Ifc4::IfcPhysicalQuantity>::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional<std::string> v5_Quality, boost::optional<std::string> v6_Usage)

Public Static Functions

const IfcParse::entity &Class()