X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=src%2FAIModel%2FAIAircraft.hxx;h=ff7afad3ef8270572bff66aa13ea1e1608dd887c;hb=e16f772e54216b0088ca9cb3f3b0fb062be8bfdb;hp=26ceb51207bbdf630c2592950a58a635a6ddc409;hpb=467513cbaf40a7e1bd4077d71b60eef6c881741a;p=flightgear.git diff --git a/src/AIModel/AIAircraft.hxx b/src/AIModel/AIAircraft.hxx index 26ceb5120..ff7afad3e 100644 --- a/src/AIModel/AIAircraft.hxx +++ b/src/AIModel/AIAircraft.hxx @@ -76,6 +76,7 @@ public: void setTaxiClearanceRequest(bool arg) { needsTaxiClearance = arg; }; bool getTaxiClearanceRequest() { return needsTaxiClearance; }; FGAISchedule * getTrafficRef() { return trafficRef; }; + void setTrafficRef(FGAISchedule *ref) { trafficRef = ref; }; virtual const char* getTypeString(void) const { return "aircraft"; } @@ -94,6 +95,7 @@ public: inline double airspeed() const { return props->getFloatValue("velocities/airspeed-kt");}; std::string atGate(); + void checkTcas(); protected: void Run(double dt); @@ -141,6 +143,8 @@ private: void updateActualState(); void handleATCRequests(); 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); @@ -160,6 +164,7 @@ private: bool reachedWaypoint; bool needsTaxiClearance; + bool _needsGroundElevation; time_t timeElapsed; PerformanceData* _performance; // the performance data for this aircraft