using std::cerr;
+FGAIFlightPlan::FGAIFlightPlan()
+{
+ sid = 0;
+}
FGAIFlightPlan::FGAIFlightPlan(const string& filename)
{
int i;
+ sid = 0;
start_time = 0;
leg = 10;
gateId = 0;
try {
readProperties(path.str(), &root);
- } catch (const sg_exception &e) {
+ } catch (const sg_exception &) {
SG_LOG(SG_GENERAL, SG_ALERT,
"Error reading AI flight plan: " << path.str());
// cout << path.str() << endl;
const string& acType,
const string& airline)
{
+ sid = 0;
repeat = false;
leg = 10;
gateId=0;
waypoints.push_back(wpt);
}
}
- catch (const sg_exception &e) {
+ catch (const sg_exception &) {
SG_LOG(SG_GENERAL, SG_WARN,
"Error reading AI flight plan: ");
cerr << "Errno = " << errno << endl;
}
+void FGAIFlightPlan::DecrementWaypoint(bool eraseWaypoints )
+{
+ if (eraseWaypoints)
+ {
+ if (wpt_iterator == waypoints.end())
+ wpt_iterator--;
+ else
+ {
+ delete *(waypoints.end());
+ waypoints.erase(waypoints.end());
+ wpt_iterator = waypoints.end();
+ wpt_iterator--;
+ }
+ }
+ else
+ wpt_iterator--;
+
+}
+
+
// gives distance in feet from a position to a waypoint
double FGAIFlightPlan::getDistanceToGo(double lat, double lon, waypoint* wp) const{
return SGGeodesy::distanceM(SGGeod::fromDeg(lon, lat),
int FGAIFlightPlan::getRouteIndex(int i) {
- if ((i > 0) && (i < waypoints.size())) {
+ if ((i > 0) && (i < (int)waypoints.size())) {
return waypoints[i]->routeIndex;
}
else