Class Ifc4::IfcPropertyEnumeratedValue¶
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
::
IfcPropertyEnumeratedValue
: public Ifc4::IfcSimpleProperty¶ A property with an enumerated value, IfcPropertyEnumeratedValue, defines a property object which has a value assigned that is chosen from an enumeration. It defines a property - value combination for which theproperty Name, an optional Description,the optional EnumerationValues with measure type and optionally an Unit is given.
NOTE Multiple choices from the property enumeration are supported.
The unit is handled by the Unit attribute of the IfcPropertyEnumeration:
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.
More precisely: The IfcPropertyEnumeratedValue defines a property, which value is selected from a defined list of enumerators. The enumerators are stored in a dynamic enumeration of values including the type information from IfcValue (see IfcPropertyEnumeration). This enables applications to use an enumeration value as a property within a property set (IfcPropertySet) including the allowed list of values.
NOTE An IfcPropertyEnumeratedValue may be exchanged with no values assigned yet. In this case the EnumerationValues are set to NIL.
Examples of a property with enumerated value are:
Name Value (EnumerationValue) Type (through IfcValue) ref.IfcPropertyEnumeration (Name)
BladeAction Opposed IfcString DamperBladeActionEnum
BladeAction Parallel IfcString DamperBladeActionEnum
The IfcPropertyEnumeratedValue refers to an IfcPropertyEnumeration, e.g. for the above:
Name EnumerationValues Type (through IfcValue) Unit
DamperBladeActionEnum (Parallel, Opposed, Other, Unset) IfcString
It is not mandatory to use an instance of IfcPropertyEnumeration to hold the applicable values for IfcPropertyEnumeratedValue, however this is the preferred way. A single instance of IfcPropertyEnumeration can be referenced by multiple instances of IfcPropertyEnumeratedValue.
HISTORYNew Entity in IFC Release 2.0, capabilities enhanced in IFC2x. The entity has been renamed from IfcEnumeratedProperty in IFC2x.
IFC2x4 CHANGE Attribute EnumerationValues has been made OPTIONAL with upward compatibility for file based exchange.
Public Types
-
typedef IfcTemplatedEntityList<IfcPropertyEnumeratedValue>
list
¶
Public Functions
-
bool
hasEnumerationValues
() const¶ Whether the optional attribute EnumerationValues is defined for this IfcPropertyEnumeratedValue.
-
IfcEntityList::ptr
EnumerationValues
() const¶ Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided.
IFC2x4 CHANGE The attribute has been made optional with upward compatibility for file based exchange.
-
void
setEnumerationValues
(IfcEntityList::ptr v)¶
-
bool
hasEnumerationReference
() const¶ Whether the optional attribute EnumerationReference is defined for this IfcPropertyEnumeratedValue.
-
::Ifc4::IfcPropertyEnumeration *
EnumerationReference
() const¶ Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value.
-
void
setEnumerationReference
(::Ifc4::IfcPropertyEnumeration *v)¶
-
IfcPropertyEnumeratedValue
(IfcEntityInstanceData *e)¶
-
IfcPropertyEnumeratedValue
(std::string v1_Name, boost::optional<std::string> v2_Description, boost::optional<IfcEntityList::ptr> v3_EnumerationValues, ::Ifc4::IfcPropertyEnumeration *v4_EnumerationReference)¶