]> git.mxchange.org Git - flightgear.git/blobdiff - src/AIModel/AIAircraft.hxx
Ground network distance tracking code. AIAircraft taxiing at airports
[flightgear.git] / src / AIModel / AIAircraft.hxx
index e8197667467fe270488e0b1f2e1bb3c90dc9ba02..095b21b3797ff14ca897ae670fdd94461c5da646 100644 (file)
@@ -47,7 +47,14 @@ private:
     } PERF_STRUCT;
 
 public:
-    enum aircraft_e {LIGHT=0, WW2_FIGHTER, JET_TRANSPORT, JET_FIGHTER, TANKER};
+    enum aircraft_e {
+        LIGHT = 0,
+        WW2_FIGHTER,
+        JET_TRANSPORT,
+        JET_FIGHTER,
+        TANKER,
+        UFO
+    };
     static const PERF_STRUCT settings[];
 
     FGAIAircraft(FGAISchedule *ref=0);
@@ -64,6 +71,7 @@ public:
     void SetPerformance(const PERF_STRUCT *ps);
     void setFlightPlan(const std::string& fp, bool repat = false);
     void SetFlightPlan(FGAIFlightPlan *f);
+    void initializeFlightPlan();
     FGAIFlightPlan* GetFlightPlan() const { return fp; };
     void AccelTo(double speed);
     void PitchTo(double angle);
@@ -82,11 +90,15 @@ public:
     void setAcType(const string& ac) { acType = ac; };
     void setCompany(const string& comp) { company = comp;};
 
+    void announcePositionToController();
+    void processATC(FGATCInstruction instruction);
+
     inline void SetTanker(bool setting) { isTanker = setting; };
     virtual const char* getTypeString(void) const { return "aircraft"; }
 
 private:
     FGAISchedule *trafficRef;
+    FGATCController *controller, *prevController; 
 
     bool hdg_lock;
     bool alt_lock;
@@ -99,7 +111,7 @@ private:
 
     const PERF_STRUCT *performance;
     bool use_perf_vs;
-    SGPropertyNode* refuel_node;
+    SGPropertyNode_ptr refuel_node;
     bool isTanker;
 
     void Run(double dt);