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
10 #include <simgear/compiler.h>
16 #include <simgear/math/point3d.hxx>
17 #include <simgear/math/polar3d.hxx>
23 // Typedefs, enumerations
27 void *m_DecodedReport;
28 // A void pointer which is cast to the correct type in the cpp file.
29 // I don't want the ugly metar structure and header files dragged into
30 // every report user program file.
31 // Probably should be a smart pointer if copy constructor and assignment
46 int Day(); // The day of month on which the report was issued.
47 int Hour(); // The hour of the day the report was issued.
48 int Minutes(); //Minutes past the hour of the report issue time.
50 // Directions in degrees
53 // Temperature in centigrade
59 // Add cloud more cloud info...
60 // Cloud code characters...
68 int TornadicDirection();
69 int TornadicMovementDirection();
71 int ThunderStormDirection();
72 int ThunderStormMovementDirection();
77 int LightningDirection();
78 bool OccationalLightning();
79 bool FrequentLightning();
80 bool ContinuousLightning();
83 return OccationalLightning() || FrequentLightning() || ContinuousLightning();
86 bool CloudToGroundLightning();
87 bool InterCloudLightning();
88 bool CloudToCloudLightning();
89 bool CloudToAirLightning();
91 bool DistantLightning();
92 bool AirportLightning();
93 bool OverheadLightning();
94 bool VicinityLightning();
97 int DewpointTemperature();
99 int VerticalVisibility();
101 int EstimatedCeiling();
102 int VariableSkyLayerHeight();
104 int SnowDepthInches();
106 double AirPressure(); //Return the air pressure in InchesHg.
107 double PrevailVisibility(); // Prevailing Visibility in meters.
112 const CMetarReport &rNewObj );
113 // Copy constructor. Not implemented.
115 CMetarReport &operator =(
116 const CMetarReport &rObj );
117 // Assignment operator. Not implemented.
120 ostream& operator << ( ostream&, CMetarReport& );