{
_props = globals->get_props();
fgSetBool("/sim/fdm-initialized", false);
+
+ _wind_north = _props->getNode("environment/wind-from-north-fps", true);
+ _wind_east = _props->getNode("environment/wind-from-east-fps", true);
+ _wind_down = _props->getNode("environment/wind-from-down-fps", true);
+ _control_fdm_atmo = _props->getNode("environment/params/control-fdm-atmosphere", true);
+ _temp_degc = _props->getNode("environment/temperature-degc", true);
+ _pressure_inhg = _props->getNode("environment/pressure-inhg", true);
+ _density_slugft = _props->getNode("environment/density-slugft3", true);
+ _data_logging = _props->getNode("/sim/temp/fdm-data-logging", true);
+
createImplementation();
}
// pull environmental data in, since the FDMs are lazy
_impl->set_Velocities_Local_Airmass(
- _props->getDoubleValue("environment/wind-from-north-fps", 0.0),
- _props->getDoubleValue("environment/wind-from-east-fps", 0.0),
- _props->getDoubleValue("environment/wind-from-down-fps", 0.0));
+ _wind_north->getDoubleValue(),
+ _wind_east->getDoubleValue(),
+ _wind_down->getDoubleValue());
- if (_props->getBoolValue("environment/params/control-fdm-atmosphere")) {
+ if (_control_fdm_atmo->getBoolValue()) {
// convert from Rankine to Celsius
- double tempDegC = _props->getDoubleValue("environment/temperature-degc");
+ double tempDegC = _temp_degc->getDoubleValue();
_impl->set_Static_temperature((9.0/5.0) * (tempDegC + 273.15));
// convert from inHG to PSF
- double pressureInHg = _props->getDoubleValue("environment/pressure-inhg");
+ double pressureInHg = _pressure_inhg->getDoubleValue();
_impl->set_Static_pressure(pressureInHg * 70.726566);
// keep in slugs/ft^3
- _impl->set_Density(_props->getDoubleValue("environment/density-slugft3"));
+ _impl->set_Density(_density_slugft->getDoubleValue());
}
- bool doLog = _props->getBoolValue("/sim/temp/fdm-data-logging", false);
+ bool doLog = _data_logging->getBoolValue();
if (doLog != _dataLogging) {
_dataLogging = doLog;
_impl->ToggleDataLogging(doLog);
TankPropertiesList _tankProperties;
FGInterface* _impl;
- SGPropertyNode* _props; // root property tree for this FDM instance
+ SGPropertyNode_ptr _props; // root property tree for this FDM instance
bool _dataLogging;
+
+ SGPropertyNode_ptr _wind_north, _wind_east,_wind_down;
+ SGPropertyNode_ptr _control_fdm_atmo,_temp_degc,_pressure_inhg;
+ SGPropertyNode_ptr _density_slugft, _data_logging;
};
#endif // of FG_FDM_SHELL_HXX