1 // Class encapulating the metar report information
3 // Individual METAR reports are found in this directory:
4 // ftp://weather.noaa.gov/data/observations/metar/stations
13 #include <simgear/math/point3d.hxx>
14 #include <simgear/math/polar3d.hxx>
18 // Typedefs, enumerations
22 void *m_DecodedReport;
23 // A void pointer which is cast to the correct type in the cpp file.
24 // I don't want the ugly metar structure and header files dragged into
25 // every report user program file.
26 // Probably should be a smart pointer if copy constructor and assignment
41 int Day(); // The day of month on which the report was issued.
42 int Hour(); // The hour of the day the report was issued.
43 int Minutes(); //Minutes past the hour of the report issue time.
45 // Directions in degrees
48 // Temperature in centigrade
54 // Add cloud more cloud info...
55 // Cloud code characters...
63 int TornadicDirection();
64 int TornadicMovementDirection();
66 int ThunderStormDirection();
67 int ThunderStormMovementDirection();
72 int LightningDirection();
73 bool OccationalLightning();
74 bool FrequentLightning();
75 bool ContinuousLightning();
78 return OccationalLightning() || FrequentLightning() || ContinuousLightning();
81 bool CloudToGroundLightning();
82 bool InterCloudLightning();
83 bool CloudToCloudLightning();
84 bool CloudToAirLightning();
86 bool DistantLightning();
87 bool AirportLightning();
88 bool OverheadLightning();
89 bool VicinityLightning();
92 int DewpointTemperature();
94 int VerticalVisibility();
96 int EstimatedCeiling();
97 int VariableSkyLayerHeight();
99 int SnowDepthInches();
101 double AirPressure(); //Return the air pressure in InchesHg.
102 double PrevailVisibility(); // Prevailing Visibility in meters.
107 const CMetarReport &rNewObj );
108 // Copy constructor. Not implemented.
110 CMetarReport &operator =(
111 const CMetarReport &rObj );
112 // Assignment operator. Not implemented.
115 std::ostream& operator << ( std::ostream&, CMetarReport& );