dep->getDynamics()->releaseParking(fp->getGate());
}
// Some debug messages, specific to testing the Logical networks.
- //if ((arr->getId() == string("EHAM")) && (prev->name == "Center"))
- // {
- //
- // cerr << "Schiphol ground "
- // << trafficRef->getRegistration() << " "
- // << trafficRef->getCallSign();
- // if (trafficRef->getHeavy())
- // cerr << "Heavy";
- // cerr << " landed runway "
- // << fp->getRunway()
- // << " request taxi to gate "
- // << arr->getDynamics()->getParkingName(fp->getGate())
- // << endl;
- // }
+ if ((arr->getId() == string("EHAM")) && (prev->name == "Center"))
+ {
+
+ cerr << "Schiphol ground "
+ << trafficRef->getRegistration() << " "
+ << trafficRef->getCallSign();
+ if (trafficRef->getHeavy())
+ cerr << "Heavy";
+ cerr << ", arriving from " << dep->getName() ;
+ cerr << " landed runway "
+ << fp->getRunway()
+ << " request taxi to gate "
+ << arr->getDynamics()->getParkingName(fp->getGate())
+ << endl;
+ }
if (prev->name == "END")
fp->setTime(trafficRef->getDepartureTime());
//cerr << "5" << endl;
isPushBackPoint = true;
int nrWaypoints = route.size();
int nrWaypointsToSkip = rand() % nrWaypoints;
- for (int i = 0; i < nrWaypointsToSkip; i++) {
+ // but make sure we always keep two active waypoints
+ // to prevent a segmentation fault
+ for (int i = 0; i < nrWaypointsToSkip-2; i++) {
isPushBackPoint = false;
route.next(&node);
}
bool next(int *val);
void first() { currNode = nodes.begin(); };
- int size() { return nodes.end() - nodes.begin(); };
+ int size() { return nodes.size(); };
};
typedef vector<FGTaxiRoute> TaxiRouteVector;