Class Ifc4::IfcCurrencyRelationship¶
Defined in File Ifc4.h
Nested Relationships¶
This class is a nested type of Struct Ifc4.
Inheritance Relationships¶
Base Type¶
public Ifc4::IfcResourceLevelRelationship
(Class Ifc4::IfcResourceLevelRelationship)
Class Documentation¶
-
class
Ifc4
::
IfcCurrencyRelationship
: public Ifc4::IfcResourceLevelRelationship¶ IfcCurrencyRelationship defines the rate of exchange that applies between two designated currencies at a particular time and as published by a particular source.
HISTORY New Entity in IFC2x2.
IFC2x4 CHANGE Subtyped from IfcResourceLevelRelationship, attribute order changed.
Use definitions An IfcCurrencyRelationship is used where there may be a need to reference an IfcCostValue in one currency to an IfcCostValue in another currency. It takes account of fact that currency exchange rates may vary by requiring the recording the date and time of the currency exchange rate used and the source that publishes the rate. There may be many sources and there are different strategies for currency conversion (spot rate, forward buying of currency at a fixed rate). The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL.
Public Types
-
typedef IfcTemplatedEntityList<IfcCurrencyRelationship>
list
¶
Public Functions
-
::Ifc4::IfcMonetaryUnit *
RelatingMonetaryUnit
() const¶ The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP.
-
void
setRelatingMonetaryUnit
(::Ifc4::IfcMonetaryUnit *v)¶
-
::Ifc4::IfcMonetaryUnit *
RelatedMonetaryUnit
() const¶ The monetary unit to which an exchange results. For instance, in the case of a conversion from GBP to USD, the related monetary unit is USD.
-
void
setRelatedMonetaryUnit
(::Ifc4::IfcMonetaryUnit *v)¶
-
double
ExchangeRate
() const¶ The currently agreed ratio of the amount of a related monetary unit that is equivalent to a unit amount of the relating monetary unit in a currency relationship. For instance, in the case of a conversion from GBP to USD, the value of the exchange rate may be 1.486 (USD) : 1 (GBP).
-
void
setExchangeRate
(double v)¶
-
bool
hasRateDateTime
() const¶ Whether the optional attribute RateDateTime is defined for this IfcCurrencyRelationship.
-
std::string
RateDateTime
() const¶ The date and time at which an exchange rate applies.
IFC2x4 CHANGE Type changed from IfcDateTimeSelect. Attribute made optional.
-
void
setRateDateTime
(std::string v)¶
-
bool
hasRateSource
() const¶ Whether the optional attribute RateSource is defined for this IfcCurrencyRelationship.
-
::Ifc4::IfcLibraryInformation *
RateSource
() const¶ The source from which an exchange rate is obtained.
-
void
setRateSource
(::Ifc4::IfcLibraryInformation *v)¶
-
IfcCurrencyRelationship
(IfcEntityInstanceData *e)¶
-
IfcCurrencyRelationship
(boost::optional<std::string> v1_Name, boost::optional<std::string> v2_Description, ::Ifc4::IfcMonetaryUnit *v3_RelatingMonetaryUnit, ::Ifc4::IfcMonetaryUnit *v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional<std::string> v6_RateDateTime, ::Ifc4::IfcLibraryInformation *v7_RateSource)¶
-
typedef IfcTemplatedEntityList<IfcCurrencyRelationship>