X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAirports%2Fdynamics.hxx;h=1f142eb529bd36e9f0d0477e4ea382ec6d49f9a9;hb=386aefe69358ce41a11c9afeb8f56e26758fe56b;hp=9712c5b8059c8be5262f317d3df1e63e5bb919e4;hpb=8be4e97f54121260feb292e1fcbe3d072d28c941;p=flightgear.git diff --git a/src/Airports/dynamics.hxx b/src/Airports/dynamics.hxx index 9712c5b80..1f142eb52 100644 --- a/src/Airports/dynamics.hxx +++ b/src/Airports/dynamics.hxx @@ -33,6 +33,7 @@ #include "parking.hxx" #include "groundnetwork.hxx" #include "runwayprefs.hxx" +#include "sidstar.hxx" //typedef vector DoubleVec; //typedef vector::iterator DoubleVecIterator; @@ -47,6 +48,7 @@ private: FGParkingVec parkings; FGRunwayPreference rwyPrefs; + FGSidStar SIDs; FGStartupController startupController; FGGroundNetwork groundNetwork; FGTowerController towerController; @@ -67,7 +69,8 @@ private: string atisInformation; string chooseRunwayFallback(); - bool innerGetActiveRunway(const string &trafficType, int action, string &runway); + bool innerGetActiveRunway(const string &trafficType, int action, string &runway, double heading); + string chooseRwyByHeading(stringVec rwys, double heading); public: FGAirportDynamics(FGAirport* ap); FGAirportDynamics(const FGAirportDynamics &other); @@ -88,7 +91,7 @@ public: double getElevation() const; const string& getId() const; - void getActiveRunway(const string& trafficType, int action, string& runway); + void getActiveRunway(const string& trafficType, int action, string& runway, double heading); void addParking(FGParking& park); bool getAvailableParking(double *lat, double *lon, @@ -103,6 +106,10 @@ public: //const string &getName() const { return _name;}; // Returns degrees + // Departure / Arrival procedures + FGSidStar * getSIDs() { return &SIDs; }; + FGAIFlightPlan * getSID(string activeRunway, double heading); + // ATC related functions. FGStartupController *getStartupController() { return &startupController; }; @@ -110,7 +117,7 @@ public: FGTowerController *getTowerController() { return &towerController; }; const string& getAtisInformation() { return atisInformation; }; - int getGroundFrequency(int leg); //{ return freqGround.size() ? freqGround[0] : 0; }; + int getGroundFrequency(unsigned leg); //{ return freqGround.size() ? freqGround[0] : 0; }; void setRwyUse(const FGRunwayPreference& ref); };