Class Ifc4::IfcPropertyTableValue¶
Defined in File Ifc4.h
Nested Relationships¶
This class is a nested type of Struct Ifc4.
Inheritance Relationships¶
Base Type¶
public Ifc4::IfcSimpleProperty
(Class Ifc4::IfcSimpleProperty)
Class Documentation¶
-
class
Ifc4
::
IfcPropertyTableValue
: public Ifc4::IfcSimpleProperty¶ A property with a range value (IfcPropertyTableValue) defines a property object which has two lists of (numeric or descriptive) values assigned, the values specifying a table with two columns. The defining values provide the first column and establish the scope for the defined values (the second column). Interpolations are out of scope of the IfcPropertyTableValue. An optional Expression attribute may give the equation used for deriving the range value, which is for information purposes only.
The IfcPropertyTableValue defines a defining/defined property value combination for which the property name, the table with defining and defined values with measure type (and optional the units for defining and defined values) are given.
The units are handled by the DefiningUnit and DefinedUnit attributes:
If the DefiningUnit or DefinedUnit 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 DefiningUnit or DefinedUnit attribute is given, then the unit assigned by the unit attribute overrides the globally assigned unit.
The IfcPropertyTableValue allows for the specification of a table of defining/defined value pairs of the property description. The optional attribute CurveInterpolation allows to determine the interval between two given values.
Examples of a property with range value are:
Name
DefiningValues
DefiningValue Type (through IfcValue)
DefinedValues
DefinedValue Type (through IfcValue)
DefingUnit
DefinedUnit
SoundTransmissionLoss
100
20
dB
200
42
400
46
800
56
1600
60
3200
65
HISTORY: New entity in IFC2x.
IFC2x4 CHANGE Attributes DefiningValues and DefinedValues have been made OPTIONAL with upward compatibility for file based exchange. The attribute CurveInterpolation has been added..
Informal propositions:
The list of DefinedValues and the list of DefiningValues are corresponding lists.
Public Types
-
typedef IfcTemplatedEntityList<IfcPropertyTableValue>
list
¶
Public Functions
-
bool
hasDefiningValues
() const¶ Whether the optional attribute DefiningValues is defined for this IfcPropertyTableValue.
-
IfcEntityList::ptr
DefiningValues
() const¶ List of defining values, which determine the defined values. This list shall have unique values only.
IFC2x4 CHANGE The attribute has been made optional with upward compatibility for file based exchange.
-
void
setDefiningValues
(IfcEntityList::ptr v)¶
-
bool
hasDefinedValues
() const¶ Whether the optional attribute DefinedValues is defined for this IfcPropertyTableValue.
-
IfcEntityList::ptr
DefinedValues
() const¶ Defined values which are applicable for the scope as defined by the defining values.
IFC2x4 CHANGE The attribute has been made optional with upward compatibility for file based exchange.
-
void
setDefinedValues
(IfcEntityList::ptr v)¶
-
bool
hasExpression
() const¶ Whether the optional attribute Expression is defined for this IfcPropertyTableValue.
-
std::string
Expression
() const¶ Expression for the derivation of defined values from the defining values, the expression is given for information only, i.e. no automatic processing can be expected from the expression.
-
void
setExpression
(std::string v)¶
-
bool
hasDefiningUnit
() const¶ Whether the optional attribute DefiningUnit is defined for this IfcPropertyTableValue.
-
::Ifc4::IfcUnit *
DefiningUnit
() const¶ Unit for the defining values, if not given, the default value for the measure type (given by the TYPE of the defining values) is used as defined by the global unit assignment at IfcProject.
-
bool
hasDefinedUnit
() const¶ Whether the optional attribute DefinedUnit is defined for this IfcPropertyTableValue.
-
::Ifc4::IfcUnit *
DefinedUnit
() const¶ Unit for the defined values, if not given, the default value for the measure type (given by the TYPE of the defined values) is used as defined by the global unit assignment at IfcProject.
-
bool
hasCurveInterpolation
() const¶ Whether the optional attribute CurveInterpolation is defined for this IfcPropertyTableValue.
-
::Ifc4::IfcCurveInterpolationEnum::Value
CurveInterpolation
() const¶ Interpolation of the curve between two defining and defined values that are provided. if not provided a linear interpolation is assumed.
IFC2x4 CHANGE The attribute has been added at the end of the attribute list.
-
void
setCurveInterpolation
(::Ifc4::IfcCurveInterpolationEnum::Value v)¶
-
IfcPropertyTableValue
(IfcEntityInstanceData *e)¶
-
IfcPropertyTableValue
(std::string v1_Name, boost::optional<std::string> v2_Description, boost::optional<IfcEntityList::ptr> v3_DefiningValues, boost::optional<IfcEntityList::ptr> v4_DefinedValues, boost::optional<std::string> v5_Expression, ::Ifc4::IfcUnit *v6_DefiningUnit, ::Ifc4::IfcUnit *v7_DefinedUnit, boost::optional<::Ifc4::IfcCurveInterpolationEnum::Value> v8_CurveInterpolation)¶