X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FInstrumentation%2Fwxradar.cxx;h=b1f81be656ebf2e293ba902f662e6331943a4990;hb=caf0138ab35b03bbe7bf367ff2222d0a31be3157;hp=885754ea22d9db1575059ce68bbb1d62fcb2f46a;hpb=3f3755fda27e40596d5e418ade89091aee7f00bc;p=flightgear.git diff --git a/src/Instrumentation/wxradar.cxx b/src/Instrumentation/wxradar.cxx index 885754ea2..b1f81be65 100644 --- a/src/Instrumentation/wxradar.cxx +++ b/src/Instrumentation/wxradar.cxx @@ -77,7 +77,6 @@ wxRadarBg::wxRadarBg(SGPropertyNode *node) : _interval(node->getDoubleValue("update-interval-sec", 1.0)), _elapsed_time(0), _persistance(0), - _sim_init_done(false), _odg(0), _range_nm(0), _scale(0), @@ -120,6 +119,7 @@ wxRadarBg::wxRadarBg(SGPropertyNode *node) : wxRadarBg::~wxRadarBg () { _font_node->removeChangeListener(this); + delete _odg; } @@ -127,6 +127,7 @@ void wxRadarBg::init () { _serviceable_node = _Instrument->getNode("serviceable", true); + _sceneryLoaded = fgGetNode("/sim/sceneryloaded", true); // texture name to use in 2D and 3D instruments _texture_path = _Instrument->getStringValue("radar-texture-path", @@ -155,8 +156,7 @@ wxRadarBg::init () // input range = n nm (20/40/80) // input display-mode = arc | rose | map | plan - FGInstrumentMgr *imgr = (FGInstrumentMgr *)globals->get_subsystem("instrumentation"); - _odg = (FGODGauge *)imgr->get_subsystem("od_gauge"); + _odg = new FGODGauge; _odg->setSize(512); _ai_enabled_node = fgGetNode("/sim/ai/enabled", true); @@ -287,22 +287,17 @@ osg::Matrixf wxRotate(float angle) void wxRadarBg::update (double delta_time_sec) { - if (!_sim_init_done) { - if (!fgGetBool("sim/sceneryloaded", false)) - return; + if (!_sceneryLoaded->getBoolValue()) + return; - _sim_init_done = true; - } if (!_odg || !_serviceable_node->getBoolValue()) { _Instrument->setStringValue("status", ""); return; } + _time += delta_time_sec; - if (_time < _interval){ -// cout << "WXradar update too soon " << _time << endl; + if (_time < _interval) return; - } -// cout << "WXradar updating" << _time<< endl; _time = 0.0;