X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FInstrumentation%2Fnavradio.hxx;h=f272f6700419e77d9bc28caba378be590eb3e408;hb=0a5e86f4e61a80ff19b78de011852a7b60250b7a;hp=fe724a3bd4c1abd784286d678310db93b305094e;hpb=38e76a175e310984da6eced54a0ad9bb7ad8c35f;p=flightgear.git diff --git a/src/Instrumentation/navradio.hxx b/src/Instrumentation/navradio.hxx index fe724a3bd..f272f6700 100644 --- a/src/Instrumentation/navradio.hxx +++ b/src/Instrumentation/navradio.hxx @@ -39,7 +39,7 @@ class SGSampleGroup; class FGNavRecord; typedef SGSharedPtr FGNavRecordPtr; -class FGNavRadio : public SGSubsystem +class FGNavRadio : public SGSubsystem, public SGPropertyChangeListener { FGMorse morse; @@ -103,6 +103,7 @@ class FGNavRadio : public SGSubsystem SGPropertyNode_ptr gs_deflection_deg_node; SGPropertyNode_ptr gs_deflection_norm_node; SGPropertyNode_ptr gs_rate_of_climb_node; + SGPropertyNode_ptr gs_rate_of_climb_fpm_node; SGPropertyNode_ptr gs_dist_node; SGPropertyNode_ptr gs_inrange_node; SGPropertyNode_ptr nav_id_node; @@ -167,7 +168,7 @@ class FGNavRadio : public SGSubsystem double _gsNeedleDeflectionNorm; SGSharedPtr _sgr; - std::vector _tiedNodes; + std::vector _tiedNodes; bool updateWithPower(double aDt); @@ -190,11 +191,6 @@ class FGNavRadio : public SGSubsystem void clearOutputs(); - /** - * Compute the localizer width in degrees - see implementation for - * more information on the relevant standards and formulae. - */ - double localizerWidth(FGNavRecord* aLOC); FGNavRecord* findPrimaryNavaid(const SGGeod& aPos, double aFreqMHz); /// accessor for tied, read-only 'operable' property @@ -207,10 +203,13 @@ class FGNavRadio : public SGSubsystem template void tie(const char* aRelPath, const SGRawValue& aRawValue) { - SGPropertyNode* nd = _radio_node->getNode(aRelPath, true); + SGPropertyNode_ptr nd = _radio_node->getNode(aRelPath, true); _tiedNodes.push_back(nd); nd->tie(aRawValue); } + + // implement SGPropertyChangeListener + virtual void valueChanged (SGPropertyNode * prop); public: FGNavRadio(SGPropertyNode *node);