Unit conversion class to convert values between physical unit systems. More...
#include <unit_converter.h>
Public Member Functions | |
cUnitConverter (char const *_kind, char const *_name, char const *_symbol, double _factor=1.0, double _offset=0.0, int _decimal_places=1) | |
int | GetDecimalPlaces (void) const |
Return the number of decimal places for printing values in the external unit system. More... | |
double | GetFactor (void) const |
Return the conversion factor from internal to external units. More... | |
char const * | GetKind (void) const |
Return the kind of unit converted (something like "angle" or "time") More... | |
char const * | GetName (void) const |
Return the name of the external unit (something like "degrees" or "milliseconds") More... | |
double | GetOffset (void) const |
Return the conversion offset from internal to external units. More... | |
char const * | GetSymbol (void) const |
Return the symbol of the external unit (something like "deg" or "ms") More... | |
double | ToExternal (double internal) const |
cSimpleVector | ToExternal (cSimpleVector &internal) const |
std::vector< double > | ToExternal (std::vector< double > const &internal) const |
double | ToInternal (double external) const |
cSimpleVector | ToInternal (cSimpleVector &external) const |
std::vector< double > | ToInternal (std::vector< double > const &external) const |
Protected Attributes | |
int | decimal_places |
A usefull number of decimal places for printing values in the external unit system. More... | |
double | factor |
the conversion factor from internal to external units More... | |
char const * | kind |
the kind of unit to be converted (something like "angle" or "time") More... | |
char const * | name |
the name of the external unit (something like "degrees" or "milliseconds") More... | |
double | offset |
the conversion offset from internal to external units More... | |
char const * | symbol |
the symbol of the external unit (something like "deg" or "ms") More... | |
Unit conversion class to convert values between physical unit systems.
An object of this class can be configured to convert values of a physical unit between 2 physical unit systems. An angle value given in degrees can e.g. be converted from/to radians or vice versa by an object of this class.
Definition at line 75 of file unit_converter.h.
USING_NAMESPACE_SDH cUnitConverter::cUnitConverter | ( | char const * | _kind, |
char const * | _name, | ||
char const * | _symbol, | ||
double | _factor = 1.0 , |
||
double | _offset = 0.0 , |
||
int | _decimal_places = 1 |
||
) |
Constructor of cUnitConverter class.
At construction time the conversion parameters - a factor and an offset - must be provided along with elements that describe the unit of a value
_kind | - a string describing the kind of unit to be converted (something like "angle" or "time") |
_name | - the name of the external unit (something like "degrees" or "milliseconds") |
_symbol | - the symbol of the external unit (something like "deg" or "ms") |
_factor | - the conversion factor from internal to external units |
_offset | - the conversion offset from internal to external units |
_decimal_places | - A usefull number of decimal places for printing values in the external unit system |
Definition at line 68 of file unit_converter.cpp.
int cUnitConverter::GetDecimalPlaces | ( | void | ) | const |
Return the number of decimal places for printing values in the external unit system.
Definition at line 191 of file unit_converter.cpp.
double cUnitConverter::GetFactor | ( | void | ) | const |
Return the conversion factor from internal to external units.
Definition at line 175 of file unit_converter.cpp.
char const * cUnitConverter::GetKind | ( | void | ) | const |
Return the kind of unit converted (something like "angle" or "time")
Definition at line 154 of file unit_converter.cpp.
char const * cUnitConverter::GetName | ( | void | ) | const |
Return the name of the external unit (something like "degrees" or "milliseconds")
Definition at line 161 of file unit_converter.cpp.
double cUnitConverter::GetOffset | ( | void | ) | const |
Return the conversion offset from internal to external units.
Definition at line 183 of file unit_converter.cpp.
char const * cUnitConverter::GetSymbol | ( | void | ) | const |
Return the symbol of the external unit (something like "deg" or "ms")
Definition at line 168 of file unit_converter.cpp.
double cUnitConverter::ToExternal | ( | double | internal | ) | const |
Convert single value internal given in internal units into external units. Returns internal * factor + offset
Definition at line 82 of file unit_converter.cpp.
cSimpleVector cUnitConverter::ToExternal | ( | cSimpleVector & | internal | ) | const |
Convert values in simple array internal, each given in internal units into external units. Returns a simple array with each valid element converted with internal[i] * factor + offset
Only valid entries of the internal vector are converted.
Definition at line 89 of file unit_converter.cpp.
std::vector< double > cUnitConverter::ToExternal | ( | std::vector< double > const & | internal | ) | const |
Convert values in vector internal, each given in internal units into external units. Returns a vector with each element converted with internal[i] * factor + offset
Definition at line 103 of file unit_converter.cpp.
double cUnitConverter::ToInternal | ( | double | external | ) | const |
Convert value external given in external units into internal units. Returns (external - offset) / factor
Definition at line 118 of file unit_converter.cpp.
cSimpleVector cUnitConverter::ToInternal | ( | cSimpleVector & | external | ) | const |
Convert values in simple array external, each given in external units into internal units. Returns a simple array with each valid element converted with external[i] * factor + offset
Only valid entries of the external vector are converted.
Definition at line 125 of file unit_converter.cpp.
std::vector< double > cUnitConverter::ToInternal | ( | std::vector< double > const & | external | ) | const |
Convert values in vector external, each given in external units into internal units. Returns a vector with each valid element converted with external[i] * factor + offset
Definition at line 139 of file unit_converter.cpp.
|
protected |
A usefull number of decimal places for printing values in the external unit system.
Definition at line 198 of file unit_converter.h.
|
protected |
the conversion factor from internal to external units
Definition at line 192 of file unit_converter.h.
|
protected |
the kind of unit to be converted (something like "angle" or "time")
Definition at line 183 of file unit_converter.h.
|
protected |
the name of the external unit (something like "degrees" or "milliseconds")
Definition at line 186 of file unit_converter.h.
|
protected |
the conversion offset from internal to external units
Definition at line 195 of file unit_converter.h.
|
protected |
the symbol of the external unit (something like "deg" or "ms")
Definition at line 189 of file unit_converter.h.