X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAIModel%2FAIAircraft.hxx;h=cfadfaf51208d4960976268af98751f435e689a6;hb=1eb8d0caa4632b5c99d6a1889bfad60288c38772;hp=d8cbe9d604498e18dabf5f8b24a31878dedef7bc;hpb=7d6b4d139c6aedd40b181aa888689afb07791807;p=flightgear.git diff --git a/src/AIModel/AIAircraft.hxx b/src/AIModel/AIAircraft.hxx index d8cbe9d60..cfadfaf51 100644 --- a/src/AIModel/AIAircraft.hxx +++ b/src/AIModel/AIAircraft.hxx @@ -77,9 +77,11 @@ public: bool getTaxiClearanceRequest() { return needsTaxiClearance; }; FGAISchedule * getTrafficRef() { return trafficRef; }; void setTrafficRef(FGAISchedule *ref) { trafficRef = ref; }; - void scheduleForATCTowerDepartureControl(); + void resetTakeOffStatus() { takeOffStatus = 0;}; + void setTakeOffStatus(int status) { takeOffStatus = status; }; + void scheduleForATCTowerDepartureControl(int state); - inline bool isScheduledForTakeoff() { return scheduledForTakeoff; }; + //inline bool isScheduledForTakeoff() { return scheduledForTakeoff; }; virtual const char* getTypeString(void) const { return "aircraft"; } @@ -98,7 +100,10 @@ public: inline double airspeed() const { return props->getFloatValue("velocities/airspeed-kt");}; std::string atGate(); + int getTakeOffStatus() { return takeOffStatus; }; + void checkTcas(); + double calcVerticalSpeed(double vert_ft, double dist_m, double speed, double error); FGATCController * getATCController() { return controller; }; @@ -173,10 +178,12 @@ private: bool reachedWaypoint; bool needsTaxiClearance; bool _needsGroundElevation; - bool scheduledForTakeoff; + int takeOffStatus; // 1 = joined departure cue; 2 = Passed DepartureHold waypoint; handover control to tower; 0 = any other state. time_t timeElapsed; PerformanceData* _performance; // the performance data for this aircraft + + void assertSpeed(double speed); };