]> git.mxchange.org Git - flightgear.git/blobdiff - src/AIModel/AIFlightPlan.cxx
Merge branch 'next' into durk-atc
[flightgear.git] / src / AIModel / AIFlightPlan.cxx
index 13285885051d2d5ac6cef5515629e8673ed7f68e..2fa5c36092badad57ca64d0d90ecc620fd41ff64 100644 (file)
@@ -1,4 +1,4 @@
-// FGAIFlightPlan - class for loading and storing  AI flight plans
+// // FGAIFlightPlan - class for loading and storing  AI flight plans
 // Written by David Culp, started May 2004
 // - davidculp2@comcast.net
 //
@@ -49,6 +49,8 @@ using std::cerr;
 FGAIFlightPlan::FGAIFlightPlan() 
 {
    sid = 0;
+   wpt_iterator = waypoints.begin();
+   isValid = true;
 }
 
 FGAIFlightPlan::FGAIFlightPlan(const string& filename)
@@ -97,6 +99,7 @@ FGAIFlightPlan::FGAIFlightPlan(const string& filename)
    }
 
   wpt_iterator = waypoints.begin();
+  isValid = true;
   //cout << waypoints.size() << " waypoints read." << endl;
 }
 
@@ -136,7 +139,7 @@ FGAIFlightPlan::FGAIFlightPlan(FGAIAircraft *ac,
   path.append( p );
   
   SGPropertyNode root;
-  
+  isValid = true;
   // This is a bit of a hack:
   // Normally the value of course will be used to evaluate whether
   // or not a waypoint will be used for midair initialization of 
@@ -176,6 +179,7 @@ FGAIFlightPlan::FGAIFlightPlan(FGAIAircraft *ac,
            else wpt->finished = false;
            waypoints.push_back(wpt);
          } // of node loop
+          wpt_iterator = waypoints.begin();
        } catch (const sg_exception &e) {
       SG_LOG(SG_GENERAL, SG_WARN, "Error reading AI flight plan: " << 
         e.getMessage() << " from " << e.getOrigin());
@@ -203,7 +207,7 @@ FGAIFlightPlan::FGAIFlightPlan(FGAIAircraft *ac,
       SG_LOG(SG_GENERAL, SG_INFO, "Route from " << dep->getId() << " to " << arr->getId() << ". Set leg to : " << leg << " " << ac->getTrafficRef()->getCallSign());
       wpt_iterator = waypoints.begin();
       bool dist = 0;
-      create(ac, dep,arr, leg, alt, speed, lat, lon,
+      isValid = create(ac, dep,arr, leg, alt, speed, lat, lon,
             firstLeg, radius, fltType, acType, airline, dist);
       wpt_iterator = waypoints.begin();
       //cerr << "after create: " << (*wpt_iterator)->name << endl;