#include <IPUnit.hpp>
Inheritance diagram for openstudio::IPUnit:Related Symbols | |
(Note that these are not member symbols.) | |
| using | IPUnitVector = std::vector<IPUnit> |
| using | OptionalIPUnit = boost::optional<IPUnit> |
Create Functions Used by UnitFactory | |
| IPUnit | createIPMass () |
| IPUnit | createIPLength () |
| IPUnit | createIPTime () |
| IPUnit | createIPTemperature () |
| IPUnit | createIPElectricCurrent () |
| IPUnit | createIPLuminousIntensity () |
| IPUnit | createIPAmountOfSubstance () |
| IPUnit | createIPAngle () |
| IPUnit | createIPSolidAngle () |
| IPUnit | createIPPeople () |
| IPUnit | createIPForce () |
| lb_f is preferred over equivalent using lb_m. | |
| IPUnit | createIPEnergy () |
| ft*lb_f is preferred over equivalent using lb_m. | |
| IPUnit | createIPPower () |
| ft*lb_f/s is preferred over equivalent using lb_m. | |
| IPUnit | createIPElectricCharge () |
| Coulomb (C) = s*A. | |
| IPUnit | createIPLuminousFlux () |
| Lumen (lm) = cd*sr. | |
| IPUnit | createIPIlluminance () |
| Foot-candles (fc) = lm/ft^2 = cd*sr/ft^2. | |
| IPUnit | createIPFrequency () |
| Hertz (Hz) = cycles/s. | |
Related Symbols inherited from openstudio::Unit | |
| using | OptionalUnit = boost::optional<Unit> |
| using | UnitVector = std::vector<Unit> |
Constructors and Destructors | |
| IPUnit (const IPExpnt &exponents=IPExpnt(), int scaleExponent=0, const std::string &prettyString="") | |
| Default constructor. | |
| IPUnit (const std::string &scaleAbbreviation, const IPExpnt &exponents=IPExpnt(), const std::string &prettyString="") | |
| Alternate constructor. | |
| virtual | ~IPUnit () override=default |
| static double | gc () |
Mathematical Operators | |
| void | lbmToLbf () |
| Convert any non-zero lb_m exponent to lb_f. | |
| void | lbfToLbm () |
| Convert any non-zero lb_f exponent to lb_m. | |
Additional Inherited Members | |
Public Member Functions inherited from openstudio::Unit | |
| Unit (int scaleExponent=0, const std::string &prettyString="") | |
| Default constructor. | |
| Unit (const std::string &scaleAbbreviation, const std::string &prettyString="") | |
| Constructor using scale abbreviations registered in ScaleFactory. | |
| virtual | ~Unit ()=default |
| Unit | clone () const |
| Deep copy constructor. | |
| Unit | cloneToMixed () const |
| Deep copy constructor that discards system designation. | |
| std::vector< std::string > | baseUnits () const |
| Returns base units already available in Unit. | |
| bool | isBaseUnit (const std::string &baseUnit) const |
| Returns true if baseUnit is available in Unit. | |
| int | baseUnitExponent (const std::string &baseUnit) const |
| Base unit exponent getter. Returns 0 if baseUnit not present. */. | |
| void | setBaseUnitExponent (const std::string &baseUnit, int exponent) |
| Sets baseUnit^exponent. If baseUnit not yet present, is added and return value is true. | |
| Scale | scale () const |
| Scale getter. | |
| bool | setScale (int scaleExponent) |
| Sets the scale to the one registered in ScaleFactory for 10^scaleExponent. | |
| bool | setScale (const std::string &scaleAbbreviation) |
| Sets the scale to the one registered in ScaleFactory under scaleAbbreviation. | |
| std::string | standardString (bool withScale=true) const |
| Returns the standard output string for this unit. | |
| std::string | prettyString (bool withScale=true) const |
| Returns the preferred output string for this unit. | |
| void | setPrettyString (const std::string &str) |
| Setter for prettyString (do not include scale abbreviation). | |
| std::string | print (bool withScale=true) const |
| Returns prettyString(withScale) if it exists; otherwise returns standardString(withScale). | |
| UnitSystem | system () const |
| Getter for this Unit's system. | |
| bool | operator== (const Unit &rUnit) const |
| Equality for units. | |
| Unit & | operator*= (const Unit &rUnit) |
| Multiply-assign operator. | |
| Unit & | operator/= (const Unit &rUnit) |
| Divide-assign operator. | |
| Unit & | pow (int expNum, int expDenom=1, bool okToCallFactory=true) |
| Raise Unit to a rational power. | |
| template<typename T > | |
| T | cast () const |
| Cast to type T. | |
| template<typename T > | |
| boost::optional< T > | optionalCast () const |
| Cast to boost::optional<T>. | |
IPUnit is a Unit with baseUnits fixed by its constructors, see IPExpnt.
setBaseUnitExponent throws an exception if any other string is passed in as a baseUnit. IPUnit.hpp declares related operators and UnitFactory callback functions.
| openstudio::IPUnit::IPUnit | ( | const IPExpnt & | exponents = IPExpnt(), |
| int | scaleExponent = 0, | ||
| const std::string & | prettyString = "" ) |
Default constructor.
Example:
IPUnit myEnergy(IPExpnt(0,1,0,0,1)); std::cout << myEnergy; // produces "ft*lb_f"
| [in] | exponents | holds the exponents for each base unit. |
| [in] | scaleExponent | exponent for scale. For instance 3 for kilo. |
| [in] | prettyString | optional string to use in place of standardString. |
| openstudio::IPUnit::IPUnit | ( | const std::string & | scaleAbbreviation, |
| const IPExpnt & | exponents = IPExpnt(), | ||
| const std::string & | prettyString = "" ) |
Alternate constructor.
Specify the abbreviation of the scale, rather than its exponent.
| [in] | scaleAbbreviation | is string equal to a scale abbreviation. For instance "k" for kilo. |
| [in] | exponents | holds the exponents for each base unit. |
| [in] | prettyString | optional string to use in place of standardString. |
|
overridevirtualdefault |
|
static |
| void openstudio::IPUnit::lbfToLbm | ( | ) |
Convert any non-zero lb_f exponent to lb_m.
| void openstudio::IPUnit::lbmToLbf | ( | ) |
Convert any non-zero lb_m exponent to lb_f.
|
related |
|
related |
|
related |
Coulomb (C) = s*A.
|
related |
|
related |
ft*lb_f is preferred over equivalent using lb_m.
|
related |
lb_f is preferred over equivalent using lb_m.
|
related |
Hertz (Hz) = cycles/s.
Making the distinction between 1/s and cycles/s here mainly to be consistent with the rotations per minute (rpm) designation made elsewhere.
|
related |
Foot-candles (fc) = lm/ft^2 = cd*sr/ft^2.
|
related |
|
related |
Lumen (lm) = cd*sr.
|
related |
|
related |
|
related |
|
related |
ft*lb_f/s is preferred over equivalent using lb_m.
|
related |
|
related |
|
related |
|
related |
|
related |