class FGRunway;
class FGTaxiway;
class FGPavement;
+class SGPropertyNode;
typedef SGSharedPtr<FGRunway> FGRunwayPtr;
typedef SGSharedPtr<FGTaxiway> FGTaxiwayPtr;
**************************************************************************************/
class FGAirport : public FGPositioned
{
-private:
- SGGeod _tower_location;
- std::string _name;
- bool _has_metar;
- FGAirportDynamics *_dynamics;
-
public:
FGAirport(const std::string& id, const SGGeod& location, const SGGeod& tower,
const std::string& name, bool has_metar, Type aType);
*/
Runway_iterator getIteratorForRunwayIdent(const std::string& aIdent) const;
+ // disable these
FGAirport operator=(FGAirport &other);
FGAirport(const FGAirport&);
+
+ /**
+ * helper to read airport data from the scenery XML files.
+ */
+ void loadSceneryDefintions() const;
+
+ /**
+ * Helpers to process property data loaded from an ICAO.threshold.xml file
+ */
+ void readThresholdData(SGPropertyNode* aRoot);
+ void processThreshold(SGPropertyNode* aThreshold);
+
+ /**
+ * Helper to parse property data loaded from an ICAO.twr.xml filke
+ */
+ void readTowerData(SGPropertyNode* aRoot);
+
+ SGGeod _tower_location;
+ std::string _name;
+ bool _has_metar;
+ FGAirportDynamics *_dynamics;
+
+ void loadRunways() const;
+ void loadTaxiways() const;
+
+ mutable bool mRunwaysLoaded;
+ mutable bool mTaxiwaysLoaded;
std::vector<FGRunwayPtr> mRunways;
std::vector<FGTaxiwayPtr> mTaxiways;