X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAIModel%2FAIAircraft.hxx;h=fd4fd2ad0813c2423006304b6ef6ccc4c823a613;hb=7e73a8788223c9c2af3c26435162e0667b412279;hp=1c23c2576fc13753787a300a26cb45a375229147;hpb=7783e6495336cb7ed83778381701c521c43a102f;p=flightgear.git diff --git a/src/AIModel/AIAircraft.hxx b/src/AIModel/AIAircraft.hxx index 1c23c2576..fd4fd2ad0 100644 --- a/src/AIModel/AIAircraft.hxx +++ b/src/AIModel/AIAircraft.hxx @@ -26,9 +26,10 @@ #include #include +#include #include -SG_USING_STD(string); +using std::string; class PerformanceData; @@ -63,17 +64,19 @@ public: void getGroundElev(double dt); //TODO these 3 really need to be public? void doGroundAltitude(); - void loadNextLeg (); + bool loadNextLeg (); void setAcType(const string& ac) { acType = ac; }; void setCompany(const string& comp) { company = comp;}; void announcePositionToController(); //TODO have to be public? void processATC(FGATCInstruction instruction); + FGAISchedule * getTrafficRef() { return trafficRef; }; virtual const char* getTypeString(void) const { return "aircraft"; } // included as performance data needs them, who else? + inline PerformanceData* getPerformance() { return _performance; }; inline bool onGround() const { return no_roll; }; inline double getSpeed() const { return speed; }; inline double getRoll() const { return roll; }; @@ -82,6 +85,7 @@ public: inline double getVerticalSpeed() const { return vs; }; inline double altitudeAGL() const { return props->getFloatValue("position/altitude-agl-ft");}; inline double airspeed() const { return props->getFloatValue("velocities/airspeed-kt");}; + string atGate(); protected: void Run(double dt); @@ -123,6 +127,7 @@ private: void updatePitchAngleTarget(); void updateActualState(); void handleATCRequests(); + void checkVisibility(); double sign(double x); @@ -138,6 +143,7 @@ private: bool _getGearDown() const; bool reachedWaypoint; + time_t timeElapsed; PerformanceData* _performance; // the performance data for this aircraft };