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"; }
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; };
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);
};