]> git.mxchange.org Git - flightgear.git/blobdiff - src/Instrumentation/altimeter.hxx
Support for multiple data dirs.
[flightgear.git] / src / Instrumentation / altimeter.hxx
index e5baae64c81f360312f6417b2bef37746bb58139..45c3a4e61260e4da7b89d2426fc49b00ab3cb64f 100644 (file)
@@ -9,6 +9,7 @@
 #define __INSTRUMENTS_ALTIMETER_HXX 1
 
 #include <simgear/props/props.hxx>
+#include <simgear/props/tiedpropertylist.hxx>
 #include <simgear/structure/subsystem_mgr.hxx>
 #include <Environment/atmosphere.hxx>
 
@@ -31,30 +32,44 @@ class Altimeter : public SGSubsystem
 
 public:
 
-    Altimeter (SGPropertyNode *node, double quantum = 0);
+    Altimeter (SGPropertyNode *node, const std::string& aDefaultName, double quantum = 0);
     virtual ~Altimeter ();
 
     virtual void init ();
+    virtual void reinit ();
     virtual void update (double dt);
+    virtual void bind();
+    virtual void unbind();
 
-private:
+    double getSettingInHg() const;
+    void setSettingInHg( double value );
+    double getSettingHPa() const;
+    void setSettingHPa( double value );
 
-    string _name;
+private:
+    std::string _name;
     int _num;
-    string _static_pressure;
+    SGPropertyNode_ptr _rootNode;
+    std::string _static_pressure;
     double _tau;
     double _quantum;
     double _kollsman;
-    double raw_PA;
-
+    double _raw_PA;
+    double _settingInHg;
+    bool _encodeModeC;
+    bool _encodeModeS;
+    
     SGPropertyNode_ptr _serviceable_node;
-    SGPropertyNode_ptr _setting_node;
     SGPropertyNode_ptr _pressure_node;
     SGPropertyNode_ptr _press_alt_node;
     SGPropertyNode_ptr _mode_c_node;
+    SGPropertyNode_ptr _mode_s_node;
+    SGPropertyNode_ptr _transponder_node;
     SGPropertyNode_ptr _altitude_node;
 
     FGAltimeter _altimeter;
+
+    simgear::TiedPropertyList _tiedProperties;
 };
 
 #endif // __INSTRUMENTS_ALTIMETER_HXX