bool getTaxiClearanceRequest() { return needsTaxiClearance; };
FGAISchedule * getTrafficRef() { return trafficRef; };
void setTrafficRef(FGAISchedule *ref) { trafficRef = ref; };
+ void scheduleForATCTowerDepartureControl();
+
+ inline bool isScheduledForTakeoff() { return scheduledForTakeoff; };
virtual const char* getTypeString(void) const { return "aircraft"; }
private:
FGAISchedule *trafficRef;
- FGATCController *controller, *prevController;
+ FGATCController *controller,
+ *prevController,
+ *towerController; // Only needed to make a pre-announcement
bool hdg_lock;
bool alt_lock;
void checkVisibility();
inline bool isStationary() { return ((fabs(speed)<=0.0001)&&(fabs(tgt_speed)<=0.0001));}
inline bool needGroundElevation() { if (!isStationary()) _needsGroundElevation=true;return _needsGroundElevation;}
+
double sign(double x);
bool reachedWaypoint;
bool needsTaxiClearance;
bool _needsGroundElevation;
+ bool scheduledForTakeoff;
time_t timeElapsed;
PerformanceData* _performance; // the performance data for this aircraft