X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FInstrumentation%2Fgsdi.cxx;h=b383f3c3e8a9a6349f1b4a6cf9e9dd15387358f1;hb=cc2a78b70b1f4d6075490f6b48d4084a9f4f4005;hp=acf11412d4cb50df3d1b769e080df5c96920a31e;hpb=fc98b57b15bbce17971e8e7001a403d06f9a9d7e;p=flightgear.git diff --git a/src/Instrumentation/gsdi.cxx b/src/Instrumentation/gsdi.cxx index acf11412d..b383f3c3e 100644 --- a/src/Instrumentation/gsdi.cxx +++ b/src/Instrumentation/gsdi.cxx @@ -49,18 +49,15 @@ GSDI::~GSDI() void GSDI::init() { - string branch; + std::string branch; branch = "/instrumentation/" + _name; SGPropertyNode *n = fgGetNode(branch.c_str(), _num, true); _serviceableN = n->getNode("serviceable", true); // input - _headingN = fgGetNode("/orientation/heading-deg", true); _ubodyN = fgGetNode("/velocities/uBody-fps", true); _vbodyN = fgGetNode("/velocities/vBody-fps", true); - _wind_dirN = fgGetNode("/environment/wind-from-heading-deg", true); - _wind_speedN = fgGetNode("/environment/wind-speed-kt", true); - + // output _drift_uN = n->getNode("drift-u-kt", true); _drift_vN = n->getNode("drift-v-kt", true); @@ -74,14 +71,8 @@ void GSDI::update(double /*delta_time_sec*/) if (!_serviceableN->getBoolValue()) return; - double wind_speed = _wind_speedN->getDoubleValue(); - double rel_wind_dir = (_headingN->getDoubleValue() - _wind_dirN->getDoubleValue()) - * SGD_DEGREES_TO_RADIANS; - double wind_u = wind_speed * cos(rel_wind_dir); - double wind_v = wind_speed * sin(rel_wind_dir); - - double u = _ubodyN->getDoubleValue() * SG_FPS_TO_KT - wind_u; - double v = _vbodyN->getDoubleValue() * SG_FPS_TO_KT + wind_v; + double u = _ubodyN->getDoubleValue() * SG_FPS_TO_KT; + double v = _vbodyN->getDoubleValue() * SG_FPS_TO_KT; double speed = sqrt(u * u + v * v); double angle = atan2(v, u) * SGD_RADIANS_TO_DEGREES;