]> git.mxchange.org Git - flightgear.git/blobdiff - src/Environment/metarproperties.hxx
Basics on catalog list model in the GUI.
[flightgear.git] / src / Environment / metarproperties.hxx
index bec445b157d0da937cb6c6b5484fd78f969d3df1..6404642f327675bd1fcd9072194a106d65af31ff 100644 (file)
 #ifndef __METARPROPERTIES_HXX
 #define __METARPROPERTIES_HXX
 
-#include <Airports/simple.hxx>
+#include <Airports/airport.hxx>
 #include <simgear/props/props.hxx>
-#include "tiedpropertylist.hxx"
+#include <simgear/props/tiedpropertylist.hxx>
+
+class FGMetar;
 
 namespace Environment {
 
@@ -41,20 +43,31 @@ public:
     virtual bool isValid() const { return _metarValidNode->getBoolValue(); }
     virtual const std::string & getStationId() const { return _station_id; }
     virtual void setStationId( const std::string & value );
-    virtual void setMetar( const std::string & value ) { set_metar( value.c_str() ); }
+    virtual void setMetar(SGSharedPtr<FGMetar> m);
+    virtual void invalidate();
 
 private:
-    const char * get_metar() const { return _metar.c_str(); }
+    const char * get_metar() const;
     void set_metar( const char * metar );
+    
     const char * get_station_id() const { return _station_id.c_str(); }
     void set_station_id( const char * value );
     const char * get_decoded() const { return _decoded.c_str(); }
     double get_magnetic_variation_deg() const;
     double get_magnetic_dip_deg() const;
+    double get_wind_from_north_fps() const { return _wind_from_north_fps; }
+    double get_wind_from_east_fps() const { return _wind_from_east_fps; }
+    double get_base_wind_dir() const { return _base_wind_dir; }
+    double get_wind_speed() const { return _wind_speed; }
+    void set_wind_from_north_fps( double value );
+    void set_wind_from_east_fps( double value );
+    void set_base_wind_dir( double value );
+    void set_wind_speed( double value );
 
+    SGSharedPtr<FGMetar> _metar;
     SGPropertyNode_ptr _rootNode;
     SGPropertyNode_ptr _metarValidNode;
-    std::string _metar;
+    
     std::string _station_id;
     double _station_elevation;
     double _station_latitude;
@@ -80,8 +93,12 @@ private:
     double _snow;
     bool _snow_cover;
     std::string _decoded;
+    int _day;
+    int _hour;
+    int _minute;
+    bool _cavok;
 protected:
-    TiedPropertyList _tiedProperties;
+    simgear::TiedPropertyList _tiedProperties;
     MagneticVariation * _magneticVariation;
 };