UnitConversionEngine.h
73 double ConvertValue(const double& value, const CCompoundUnit& fromUnit, const CCompoundUnit& toUnit) const;
74 double ConvertValue(const double& value, const std::string& fromUnit, const std::string& toUnit) const;
75 double QuickConvertValue(const double& value, const CCompoundUnit& fromUnit, const CCompoundUnit& toUnit) const;
76 double QuickConvertValue(const double& value, const std::string& fromUnit, const std::string& toUnit) const;
79 double ConvertValueInterval(const double& value, const CCompoundUnit& fromUnit, const CCompoundUnit& toUnit) const;
80 double ConvertValueInterval(const double& value, const std::string& fromUnit, const std::string& toUnit) const;
81 double ConvertQuantityType(const double& value, const CCompoundUnit& fromUnit, const CCompoundUnit& toUnit) const;
94 // if looking up conversion in opposite direction from that which was defined. The two reference parameters
98 // conversion factor contains the mapping unit and has already been raised to the necessary power
103 bool GetQuantityConversionParams(const CUnitDimension* fromDim, const CUnitDimension* toDim, double& fromExp, CCompoundUnit& mappingUnit) const;
169 CUnitDescriptor* NewUnit(const std::string& name, const std::string& symbol, unsigned int quantityTypeId, const std::string& targetUnit,
170 const double& convFac, const double& bias, CUnitDescriptor::PrefixModeType mode, const std::string& prefixSet);
171 CQuantityTypeDescriptor* NewQuantityType(const std::string& name, const std::string& expansion = "", bool twentyLog = false);
173 CPrefixDescriptor* NewPrefix(const std::string& name, const std::string& sym, const double& scaleFac);
174 CQuantityConversionDescriptor* NewQuantityConversion(const std::string& fromTypeName, double fromExp, const std::string& toTypeName,
199 std::string m_wrkDir; // I made this static and accessable for another project, so this is legacy and could be removed if causing issues
const CQuantityConversionDescriptor & GetQuantityConversionDescriptor(int qcID) const
Definition: UnitConversionEngine.h:149
Definition: QuantityConversionDescriptor.h:26
CUnitConversionEngine(const CUnitConversionEngine &)
Definition: UnitConversionEngine.h:181
bool LookupFullUnit(const std::string &fullUnitSym, int &unitID, double &prefixScaleFac) const
Definition: UnitConversionEngine.h:111
std::vector< CUnitDescriptor * > UnitList
Definition: UnitConversionEngine.h:43
QuantityNameMap * m_QNMap
Definition: UnitConversionEngine.h:192
const std::string & GetWorkingDirectory() const
Definition: UnitConversionEngine.h:66
UnitSymbolMap * m_USMap
Definition: UnitConversionEngine.h:191
double GetScaleFactor() const
Definition: PrefixDescriptor.cpp:56
int GetNumQuantities()
Definition: UnitConversionEngine.h:155
const CQuantityTypeDescriptor & GetQuantityTypeDescriptor(int qtID) const
Definition: UnitConversionEngine.h:137
std::unordered_map< char, unsigned int > PrefixMap
Definition: UnitConversionEngine.h:48
Definition: CompoundUnit.h:59
Definition: UnitDescriptor.h:22
void SetWorkingDirectory(const std::string &wrkDir)
Definition: UnitConversionEngine.h:61
const CPrefixDescriptor & GetPrefixDescriptor(int pfxID) const
Definition: UnitConversionEngine.h:143
QuantityTypeList * m_QTList
Definition: UnitConversionEngine.h:186
std::unordered_map< CQuantityConversionKey, unsigned int > QuantityConversionMap
Definition: UnitConversionEngine.h:51
std::unordered_map< CUnitDimension, unsigned int > DimensionToQuantityMap
Definition: UnitConversionEngine.h:52
QuantityConversionMap * m_QCMap
Definition: UnitConversionEngine.h:193
int m_iNumQuantities
Definition: UnitConversionEngine.h:197
Definition: QuantityTypeDescriptor.h:27
QuantityConversionList * m_QCList
Definition: UnitConversionEngine.h:189
std::unordered_map< std::string, unsigned int > QuantityNameMap
Definition: UnitConversionEngine.h:50
int m_iNumFundamentalQuantities
Definition: UnitConversionEngine.h:196
static void DestroyEngine()
Definition: UnitConversionEngine.h:56
Definition: UnitDimension.h:35
std::unordered_map< std::string, unsigned int > UnitSymbolMap
Definition: UnitConversionEngine.h:49
Definition: UnitConversionEngine.h:36
DimensionToQuantityMap * m_D2QMap
Definition: UnitConversionEngine.h:194
const CUnitDescriptor & GetUnitDescriptor(int unitID) const
Definition: UnitConversionEngine.h:131
Definition: PrefixDescriptor.h:25
Definition: SEElectricalCircuit.h:18
std::vector< CQuantityConversionDescriptor * > QuantityConversionList
Definition: UnitConversionEngine.h:45
std::vector< CQuantityTypeDescriptor * > QuantityTypeList
Definition: UnitConversionEngine.h:42
static CUnitConversionEngine * uce
Definition: UnitConversionEngine.h:38
std::vector< CPrefixDescriptor * > PrefixList
Definition: UnitConversionEngine.h:44
int GetNumFundamentalQuantities()
Definition: UnitConversionEngine.h:160