Class Ifc2x3::IfcMetric

Nested Relationships

This class is a nested type of Struct Ifc2x3.

Inheritance Relationships

Base Type

Class Documentation

class Ifc2x3::IfcMetric : public Ifc2x3::IfcConstraint

An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives.

HISTORY: New Entity in IFC Release 2.0

Use Definition IfcMetric is a subtype of IfcConstraint and may be associated with any subtype of IfcRoot through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcPropertyConstraintRelationship.

The aim of IfcMetric is to capture the quantitative aspects of a constraint.

For instance, when undertaking a move (instantiated through the IfcTask class), a constraint is instantiated as the class IfcMetric and may be named as a ‘Move Start Constraint’ or ‘Move End Constraint’ and described using one of a possible range of move constraints as shown in the table below.

Constraint Description Benchmark Grade

ASSOONASPOSSIBLE Action should commence at the earliest possible opportunity. GREATERTHANOREQUALTO SOFT

MUSTSTARTON Action must start at a prescribed date/time. EQUALTO HARD

MUSTSTARTBEFORE Action must start before a prescribed date/time. LESSTHANOREQUALTO HARD

MUSTSTARTAFTER Action must not start before a prescribed date/time. GREATERTHANOREQUALTO HARD

MAYSTARTAFTER Action may start at any time following a prescribed date/time. GREATERTHANOREQUALTO SOFT

MUSTFINISHON Action must be complete at or by a prescribed date/time. EQUALTO HARD

MUSTFINISHBEFORE Action must be complete before a prescribed date/time. LESSTHANOREQUALTO HARD

This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime.

Public Types

typedef IfcTemplatedEntityList<IfcMetric> list

Public Functions

::Ifc2x3::IfcBenchmarkEnum::Value Benchmark() const

Enumeration that identifies the type of benchmark data.

void setBenchmark(::Ifc2x3::IfcBenchmarkEnum::Value v)
bool hasValueSource() const

Whether the optional attribute ValueSource is defined for this IfcMetric.

std::string ValueSource() const

Reference source for data values.

void setValueSource(std::string v)
::Ifc2x3::IfcMetricValueSelect *DataValue() const

The value with data type defined by the underlying type accesses via IfcMetricValueSelect.

void setDataValue(::Ifc2x3::IfcMetricValueSelect *v)
const IfcParse::entity &declaration() const
IfcMetric(IfcEntityInstanceData *e)
IfcMetric(std::string v1_Name, boost::optional<std::string> v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional<std::string> v4_ConstraintSource, ::Ifc2x3::IfcActorSelect *v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect *v6_CreationTime, boost::optional<std::string> v7_UserDefinedGrade, ::Ifc2x3::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional<std::string> v9_ValueSource, ::Ifc2x3::IfcMetricValueSelect *v10_DataValue)

Public Static Functions

const IfcParse::entity &Class()