Class Ifc4x1::IfcSimplePropertyTemplate¶
Defined in File Ifc4x1.h
Nested Relationships¶
This class is a nested type of Struct Ifc4x1.
Inheritance Relationships¶
Base Type¶
public Ifc4x1::IfcPropertyTemplate
(Class Ifc4x1::IfcPropertyTemplate)
Class Documentation¶
-
class
Ifc4x1
::
IfcSimplePropertyTemplate
: public Ifc4x1::IfcPropertyTemplate¶ The IfcSimplePropertyTemplate defines the template for all dynamically extensible properties, either the subtypes of IfcSimpleProperty, or the subtypes of IfcPhysicalSimpleQuantity. The individual property templates are interpreted according to their Name attribute and may have a predefined template type, property units, and property data types. The correct interpretation of the attributes:
PrimaryUnit SecondaryUnit PrimaryDataType SecondaryDataType
is determined by the TemplateType. The TemplateType also controls, which subtype of either IfcSimpleProperty or IfcPhysicalSimpleQuantity shall be used for property occurrences corresponding to this template.
HISTORY New entity in IFC2x4.
Relationship use definition The IfcSimplePropertyTemplate is part of the set of templates included in the IfcPropertySetTemplate. The template can be accessed throught the inverse attribute PartOfPsetTemplate The IfcPropertySetTemplate may define one or several instances of IfcPropertySet (or IfcElementQuantity). The definition assignment is established by the objectified relationship IfcRelDefinesByTemplate. There is no direct link between an IfcSimplePropertyTemplate and a subtype of either IfcSimpleProperty or IfcPhysicalSimpleQuantity. The definition relationship between the template and the individual properties (or quantities) is established by the Name attributes.
Constraints at IfcPropertySetTemplate and IfcPropertySet (and IfcElementQuantity) guarantee that the Name attributes of included property templates and individual properties are unique.
Figure 9 — Property template relationships
Public Types
-
typedef IfcTemplatedEntityList<IfcSimplePropertyTemplate>
list
¶
Public Functions
-
bool
hasTemplateType
() const¶ Whether the optional attribute TemplateType is defined for this IfcSimplePropertyTemplate.
-
::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value
TemplateType
() const¶ Property type defining whether the property template defines a property with a single value, a bounded value, a list value, a table value, an enumerated value, or a reference value. Or the quantity type defining whether the template defines a quantity with a length, area, volume, weight or time value.
NOTE the value of this property determines the correct use of the PrimaryUnit, SecondaryUnit, PrimaryDataType, SecondaryDataType, and Expression attributes.
-
void
setTemplateType
(::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value v)¶
-
bool
hasPrimaryMeasureType
() const¶ Whether the optional attribute PrimaryMeasureType is defined for this IfcSimplePropertyTemplate.
-
std::string
PrimaryMeasureType
() const¶
-
void
setPrimaryMeasureType
(std::string v)¶
-
bool
hasSecondaryMeasureType
() const¶ Whether the optional attribute SecondaryMeasureType is defined for this IfcSimplePropertyTemplate.
-
std::string
SecondaryMeasureType
() const¶
-
void
setSecondaryMeasureType
(std::string v)¶
-
bool
hasEnumerators
() const¶ Whether the optional attribute Enumerators is defined for this IfcSimplePropertyTemplate.
-
::Ifc4x1::IfcPropertyEnumeration *
Enumerators
() const¶
-
void
setEnumerators
(::Ifc4x1::IfcPropertyEnumeration *v)¶
-
bool
hasPrimaryUnit
() const¶ Whether the optional attribute PrimaryUnit is defined for this IfcSimplePropertyTemplate.
-
::Ifc4x1::IfcUnit *
PrimaryUnit
() const¶ Primary unit assigned to the definition of the property. It should be provided, if the PropertyType is set to:
P_SINGLEVALUE: determining the IfcPropertySingleValue.Unit P_ENUMERATEDVALUE: determining the IfcPropertyEnumeration.Unit P_BOUNDEDVALUE: determining the IfcPropertyBoundedValue.Unit P_LISTVALUE: determining the IfcPropertyListValue.Unit P_TABLEVALUE: determining the IfcPropertyTableValue.DefiningUnit
-
bool
hasSecondaryUnit
() const¶ Whether the optional attribute SecondaryUnit is defined for this IfcSimplePropertyTemplate.
-
::Ifc4x1::IfcUnit *
SecondaryUnit
() const¶ Secondary unit assigned to the definition of the property. It should be provided, if the PropertyType is set to:
P_TABLEVALUE: determining the IfcPropertyTableValue.DefinedUnit
-
bool
hasExpression
() const¶ Whether the optional attribute Expression is defined for this IfcSimplePropertyTemplate.
-
std::string
Expression
() const¶ The expression used to store additional information for the property template depending on the PropertyType. It should the following definitions, if the PropertyType is set to:
P_TABLEVALUE: the expression that could be evaluated to define the correlation between the defining values and the defined values. Q_LENGTH, Q_AREA, Q_VOLUME, Q_COUNT, Q_WEIGTH, Q_TIME: the formula to be used to calculate the quantity
NOTE No value shall be asserted if the PropertyType is not listed above.
-
void
setExpression
(std::string v)¶
-
bool
hasAccessState
() const¶ Whether the optional attribute AccessState is defined for this IfcSimplePropertyTemplate.
-
::Ifc4x1::IfcStateEnum::Value
AccessState
() const¶ Information about the access state of the property. It determines whether a property be viewed and/or modified by any receiving application without specific knowledge of it. Attribute use definition for IfcStateEnum
READWRITE: Properties of this template are readable and writable. They may be viewed and modified by users of any application. These are typical informational properties set by a user.
READONLY: Properties of this template are read-only. They may be viewed but not modified by users of any application. (Applications may generate such values). These are typical automatically generated properties that should be displayed only, but not written back.
LOCKED: Properties of this template are locked. They may only be accessed by the owning application (the publisher of the property set template). These are typically application depended, internal properties that should not be published.
READWRITELOCKED: Properties of this template are locked, readable, and writable. They may only be accessed by the owning application.
READONLYLOCKED: Properties of this template are locked and read-only. They may only be accessed by the owning application.
-
void
setAccessState
(::Ifc4x1::IfcStateEnum::Value v)¶
-
IfcSimplePropertyTemplate
(IfcEntityInstanceData *e)¶
-
IfcSimplePropertyTemplate
(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value> v5_TemplateType, boost::optional<std::string> v6_PrimaryMeasureType, boost::optional<std::string> v7_SecondaryMeasureType, ::Ifc4x1::IfcPropertyEnumeration *v8_Enumerators, ::Ifc4x1::IfcUnit *v9_PrimaryUnit, ::Ifc4x1::IfcUnit *v10_SecondaryUnit, boost::optional<std::string> v11_Expression, boost::optional<::Ifc4x1::IfcStateEnum::Value> v12_AccessState)¶
-
typedef IfcTemplatedEntityList<IfcSimplePropertyTemplate>