Class Ifc4x2::IfcCurrencyRelationship

Nested Relationships

This class is a nested type of Struct Ifc4x2.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x2::IfcCurrencyRelationship : public Ifc4x2::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 Functions

::Ifc4x2::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(::Ifc4x2::IfcMonetaryUnit *v)
::Ifc4x2::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(::Ifc4x2::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.

::Ifc4x2::IfcLibraryInformation *RateSource() const

The source from which an exchange rate is obtained.

void setRateSource(::Ifc4x2::IfcLibraryInformation *v)
const IfcParse::entity &declaration() const
IfcCurrencyRelationship(IfcEntityInstanceData *e)
IfcCurrencyRelationship(boost::optional<std::string> v1_Name, boost::optional<std::string> v2_Description, ::Ifc4x2::IfcMonetaryUnit *v3_RelatingMonetaryUnit, ::Ifc4x2::IfcMonetaryUnit *v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional<std::string> v6_RateDateTime, ::Ifc4x2::IfcLibraryInformation *v7_RateSource)

Public Static Functions

const IfcParse::entity &Class()