#include <Airports/simple.hxx>
#include <simgear/props/props.hxx>
-#include "tiedpropertylist.hxx"
+#include <simgear/props/tiedpropertylist.hxx>
namespace Environment {
+class MagneticVariation;
+
class MetarProperties : public SGReferenced
{
public:
virtual ~MetarProperties();
SGPropertyNode_ptr get_root_node() const { return _rootNode; }
+ 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() ); }
private:
const char * get_metar() const { return _metar.c_str(); }
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 );
SGPropertyNode_ptr _rootNode;
SGPropertyNode_ptr _metarValidNode;
double _snow;
bool _snow_cover;
std::string _decoded;
-
- TiedPropertyList _tiedProperties;
+protected:
+ simgear::TiedPropertyList _tiedProperties;
+ MagneticVariation * _magneticVariation;
};
+inline void MetarProperties::set_station_id( const char * value )
+{
+ _station_id = value;
+}
+
} // namespace
#endif // __METARPROPERTIES_HXX