Added support for the liter=l unit (0.001 m3)

git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@3277 30fe4595-0a0c-4342-8851-515496e4dcbd

Former-commit-id: 48cbc26139d1bce114bc2543aa3d606ededb35fd
Former-commit-id: 263551f96ab3ff20a458908b7614e2fd2853624b
This commit is contained in:
pouillot 2011-01-23 12:54:03 +00:00
parent a2a1795de8
commit fbe5de5d93

View file

@ -1865,7 +1865,7 @@ void GfParmReleaseHandle (void *parmHandle)
static void
evalUnit (char *unit, tdble *dest, int flg)
evalUnit (char *unit, tdble *dest, int invert)
{
tdble coeff = 1.0;
@ -1899,17 +1899,19 @@ evalUnit (char *unit, tdble *dest, int flg)
coeff = 1000.0; /* Pa */
} else if (strcmp(unit, "MPa") == 0) {
coeff = 1000000.0; /* Pa */
} else if ((strcmp(unit, "PSI") == 0) || (strcmp(unit, "psi") == 0)){
} else if ((strcmp(unit, "psi") == 0) || (strcmp(unit, "PSI") == 0)){
coeff = 6894.76f; /* Pa */
} else if ((strcmp(unit, "rpm") == 0) || (strcmp(unit, "RPM") == 0)) {
coeff = 0.104719755f; /* rad/s */
} else if ((strcmp(unit, "percent") == 0) || (strcmp(unit, "%") == 0)) {
} else if ((strcmp(unit, "%") == 0) || (strcmp(unit, "percent") == 0)) {
coeff = 0.01f;
} else if ((strcmp(unit, "mph") == 0) || (strcmp(unit, "MPH") == 0)) {
coeff = 0.44704f; /* m/s */
} else if ((strcmp(unit, "l") == 0) || (strcmp(unit, "litre") == 0)) {
coeff = 0.001f; /* m3 */
}
if (flg) {
if (invert) {
*dest /= coeff;
} else {
*dest *= coeff;
@ -1929,6 +1931,7 @@ evalUnit (char *unit, tdble *dest, int flg)
<li><b>lbs</b> converted to <b>kg</b></li>
<li><b>slug</b> or <b>slugs</b> converted to <b>kg</b></li>
<li><b>h</b> or <b>hours</b> converted to <b>s</b></li>
<li><b>litre</b> or <b>l</b> converted to <b>m3</b></li>
<li><b>day</b> or <b>days</b> converted to <b>s</b></li>
<li><b>km</b> converted to <b>m</b></li>
<li><b>cm</b> converted to <b>m</b></li>
@ -1936,7 +1939,8 @@ evalUnit (char *unit, tdble *dest, int flg)
<li><b>kPa</b> converted to <b>Pa</b></li>
<li><b>deg</b> converted to <b>rad</b></li>
<li><b>rpm</b> or <b>RPM</b> converted to <b>rad/s</b></li>
<li><b>percent</b> or <b>%</b> divided by <b>100</b></li></ul>
<li><b>percent</b> or <b>%</b> divided by <b>100</b></li>
</ul>
@see GfParmSI2Unit
*/
tdble
@ -2657,7 +2661,8 @@ GfParmGetNum (void *handle, char const *path, const char *key, const char *unit,
val = deflt;
//GfFormCalcFuncNew( param->formula, parmHandle, NULL, NULL, NULL, &val, NULL );
GfFormCalcFuncNew( param->formula, parmHandle, path, NULL, NULL, &val, NULL );
} else
}
else
{
val = param->valnum;
}
@ -2666,6 +2671,7 @@ GfParmGetNum (void *handle, char const *path, const char *key, const char *unit,
{
return GfParmSI2Unit(unit, val);
}
return val;
}