Class Ifc2x3::IfcAppliedValueRelationship¶
Defined in File Ifc2x3.h
Nested Relationships¶
This class is a nested type of Struct Ifc2x3.
Inheritance Relationships¶
Base Type¶
public IfcUtil::IfcBaseEntity
(Class IfcBaseEntity)
Class Documentation¶
-
class
Ifc2x3
::
IfcAppliedValueRelationship
: public IfcUtil::IfcBaseEntity¶ An IfcAppliedValueRelationship is a relationship class that enables cost values to be aggregated together as components of another cost value.
HISTORY New Entity in Release IFC2.0.
IFC2x4 CHANGE Subtyped from IfcResourceLevelRelationship, attribute order changed.
Use definitions Dependency relationships can exist between applied values on the basis that one particular value may be determined by operations on one or more other values. This is captured through the IfcAppliedValueRelationship entity. In this relationship, one instance of IfcAppliedValue acts as the principal (IfcAppliedValueRelationship.ComponentOf) whose value may be determined from the instances of IfcAppliedValue that are defined as its components (IfcAppliedValueRelationship.Components) An IfcAppliedValueRelationship has an ArithmeticOperator attribute that specifies the form of arithmetical operation implied by the relationship. A practical consideration when using the applied value relationship is that when the arithmetic operator is ADD, then the type of the IfcAppliedValue.AppliedValue attribute will be IfcMeasureWithUnit or IfcMonetaryMeasure while if the arithmetic operator is MULTIPLY, then the type of the IfcAppliedValue.AppliedValue attribute for one instance of IfcAppliedValue will be IfcMeasureWithUnit or IfcMonetaryMeasure while for other instances it will be IfcRatioMeasure. If the arithmetic operator is SUBTRACT or DIVIDE then there can only be two occurrences of IfcAppliedValue that can contribute and the order in which they occur is significant. The value of (A - B) will usually differ from the value of (B - A) whilst (X / Y) is the reciprocal of (Y / X).
Figure 239 illustrates one level aggregation of applied values. A relationship exists between applied value A and applied values B, C and D such that the value of A is determined by the addition of B, C and D such that: A = B + C + D
Figure 239 — Applied value relationship single level
Figure 240 illustrates two level aggregation of applied values. It is possible to develop more complex applied value specifications by creating hierarchies of applied value relationships. In the diagram, the development of a applied value is shown whereby, because B = E * F and D = G * H * J, then: A = ((E * F) + C + (G * H * J)).
Figure 240 — Applied value relationship multiple level
Public Types
-
typedef IfcTemplatedEntityList<IfcAppliedValueRelationship>
list
¶
Public Functions
-
::Ifc2x3::IfcAppliedValue *
ComponentOfTotal
() const¶ The applied value (total or subtotal) of which the value being considered is a component.
-
void
setComponentOfTotal
(::Ifc2x3::IfcAppliedValue *v)¶
-
IfcTemplatedEntityList<::Ifc2x3::IfcAppliedValue>::ptr
Components
() const¶ Applied values that are components of another applied value and from which that applied value may be deduced.
-
void
setComponents
(IfcTemplatedEntityList<::Ifc2x3::IfcAppliedValue>::ptr v)¶
-
::Ifc2x3::IfcArithmeticOperatorEnum::Value
ArithmeticOperator
() const¶ The arithmetic operator applied in an applied value relationship.
-
void
setArithmeticOperator
(::Ifc2x3::IfcArithmeticOperatorEnum::Value v)¶
-
bool
hasName
() const¶ Whether the optional attribute Name is defined for this IfcAppliedValueRelationship.
-
std::string
Name
() const¶
-
void
setName
(std::string v)¶
-
bool
hasDescription
() const¶ Whether the optional attribute Description is defined for this IfcAppliedValueRelationship.
-
std::string
Description
() const¶
-
void
setDescription
(std::string v)¶
-
IfcAppliedValueRelationship
(IfcEntityInstanceData *e)¶
-
IfcAppliedValueRelationship
(::Ifc2x3::IfcAppliedValue *v1_ComponentOfTotal, IfcTemplatedEntityList<::Ifc2x3::IfcAppliedValue>::ptr v2_Components, ::Ifc2x3::IfcArithmeticOperatorEnum::Value v3_ArithmeticOperator, boost::optional<std::string> v4_Name, boost::optional<std::string> v5_Description)¶
-
typedef IfcTemplatedEntityList<IfcAppliedValueRelationship>