Class Ifc4x1::IfcPropertyBoundedValue

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x1::IfcPropertyBoundedValue : public Ifc4x1::IfcSimpleProperty

A property with a bounded value, IfcPropertyBoundedValue, defines a property object which has a maximum of two (numeric or descriptive) values assigned, the first value specifying the upper bound and the second value specifying the lower bound. It defines a property - value bound (min-max) combination for which the property Name, an optional Description,the optional UpperBoundValue with measure type, the optional LowerBoundValue with measure type, and the optional Unit is given.

A set point value can be provided in addition to the upper and lower bound values for operational value setting.

The unit is handled by the Unit attribute:

If the Unit attribute is not given, then the unit is already implied by the type of IfcMeasureValue or IfcDerivedMeasureValue. The associated unit can be found at the IfcUnitAssignment globally defined at the project level (IfcProject.UnitsInContext).

If the Unit attribute is given, then the unit assigned by the Unit attribute overrides the globally assigned unit.

The IfcPropertyBoundedValue allows for the specification of an interval for the value component of the property description. If either the LowerBoundValue or the UpperBoundValue is not given, then it indicates an open bound (either a minimum value or a maximum value). The interval is by definition inclusive, that is, the value given for the LowerBoundValue or the UpperBoundValue is included in the interval.

NOTE An IfcPropertyBoundedValue may be exchanged with no values assigned yet. In this case the LowerBoundValue and the UpperBoundValue are set to NIL.

Examples of a property with bounded value are:

Name

UpperBoundValue

LowerBoundValue

SetPointValue

Type (through IfcValue, WR1 ensures same type for both values)

Unit

OverallHeight

1930

2300

IfcPositiveLengthMeasure

  • OverallWidth

0.9

1.25

IfcPositiveLengthMeasure

m

MaxHeight

20.0

IfcPositiveLengthMeasure

  • MinWeight

20

IfcMassMeasure

kg

HISTORYNew entity in IFC Release 2x.

IFC2x2 CHANGE The attribute type of the attribute UpperBoundValue and LowerBoundValue has been changed from mandatory to optional with upward compatibility for file based exchange.

IFC2x4 CHANGE The attribute SetPointValue has been added.

Informal proposition:

If the measure type for the upper and lover bound value is a numeric measure, then the following shall be true: UpperBoundValue > LowerBoundValue.

Public Functions

bool hasUpperBoundValue() const

Whether the optional attribute UpperBoundValue is defined for this IfcPropertyBoundedValue.

::Ifc4x1::IfcValue *UpperBoundValue() const

Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue).

void setUpperBoundValue(::Ifc4x1::IfcValue *v)
bool hasLowerBoundValue() const

Whether the optional attribute LowerBoundValue is defined for this IfcPropertyBoundedValue.

::Ifc4x1::IfcValue *LowerBoundValue() const

Lower bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be lower than or equal to UpperBoundValue).

void setLowerBoundValue(::Ifc4x1::IfcValue *v)
bool hasUnit() const

Whether the optional attribute Unit is defined for this IfcPropertyBoundedValue.

::Ifc4x1::IfcUnit *Unit() const

Unit for the upper and lower bound values, if not given, the default value for the measure type is used as defined by the global unit assignment at IfcProject.UnitInContext. The applicable unit is then selected by the underlying TYPE of the UpperBoundValue, LowerBoundValue, and SetPointValue)

void setUnit(::Ifc4x1::IfcUnit *v)
bool hasSetPointValue() const

Whether the optional attribute SetPointValue is defined for this IfcPropertyBoundedValue.

::Ifc4x1::IfcValue *SetPointValue() const

Set point value as typically used for operational value setting.

IFC2x4 CHANGE The attribute has been added at the end of the attribute list.

void setSetPointValue(::Ifc4x1::IfcValue *v)
const IfcParse::entity &declaration() const
IfcPropertyBoundedValue(IfcEntityInstanceData *e)
IfcPropertyBoundedValue(std::string v1_Name, boost::optional<std::string> v2_Description, ::Ifc4x1::IfcValue *v3_UpperBoundValue, ::Ifc4x1::IfcValue *v4_LowerBoundValue, ::Ifc4x1::IfcUnit *v5_Unit, ::Ifc4x1::IfcValue *v6_SetPointValue)

Public Static Functions

const IfcParse::entity &Class()