]> git.mxchange.org Git - flightgear.git/blobdiff - src/AIModel/AIFlightPlan.hxx
Ground network distance tracking code. AIAircraft taxiing at airports
[flightgear.git] / src / AIModel / AIFlightPlan.hxx
index 74cd7ecc9bb6bf5cc6ba9bf4762990d41ab28f21..28f285b171bd77ee44e7d4ebcb43a3e8dd83797e 100644 (file)
@@ -25,6 +25,7 @@
 
 #include <Airports/simple.hxx>
 #include <Airports/runways.hxx>
+#include <Navaids/awynet.hxx>
 
 #include "AIBase.hxx"
 
@@ -47,6 +48,7 @@ public:
    bool gear_down;
    bool flaps_down;
    bool on_ground;
+    int routeIndex;  // For AI/ATC purposes;
   } waypoint;
 
    FGAIFlightPlan(const string& filename);
@@ -92,6 +94,11 @@ public:
   void setRepeat(bool r) { repeat = r; };
   bool getRepeat(void) const { return repeat; };
   void restart(void);
+  int getNrOfWayPoints() { return waypoints.size(); };
+  int getRouteIndex(int i); // returns the AI related index of this current routes. 
+  FGTaxiRoute *getTaxiRoute() { return taxiRoute; };
+  void deleteTaxiRoute();
+  
 
 private:
   FGRunway rwy;
@@ -109,6 +116,17 @@ private:
   int leg;
   int gateId;
   string activeRunway;
+  FGAirRoute airRoute;
+  FGTaxiRoute *taxiRoute;
+
+
+  Point3D temp;
+  sgdVec3 a, b, cross;
+  sgdVec3 newPos;
+  sgdMat4 matrix;
+  double angle;
+  double midlat, midlon;
+  double course, distance;  
 
   void createPushBack(bool, FGAirport*, double, double, double, const string&, const string&, const string&);
   void createTaxi(bool, int, FGAirport *, double, double, double, const string&, const string&, const string&);
@@ -117,9 +135,12 @@ private:
   void createCruise(bool, FGAirport*, FGAirport*, double, double, double, double);
   void createDecent(FGAirport *);
   void createLanding(FGAirport *);
-  void createParking(FGAirport *);
+  void createParking(FGAirport *, double radius);
   void deleteWaypoints(); 
   void resetWaypoints();
+
+  //void createCruiseFallback(bool, FGAirport*, FGAirport*, double, double, double, double);
+ void evaluateRoutePart(double deplat, double deplon, double arrlat, double arrlon);
 };