/* test code : find out how the routing develops */
if (fp) {
int size = fp->getNrOfWayPoints();
- // //cerr << "Setting pos" << pos << " ";
- // //cerr << "setting intentions " ;
- for (int i = 0; i < size; i++) {
- // int val = fp->getRouteIndex(i);
+ //cerr << "Setting pos" << pos << " ";
+ //cerr << "setting intentions " ;
+ // This indicates that we have run out of waypoints: Im future versions, the
+ // user should be able to select a new route, but for now just shut down the
+ // system.
+ if (size < 3) {
+ //cerr << "Shutting down the atc_mgr" << endl;
+ return;
+ }
+ //cerr << "Size of waypoint cue " << size << " ";
+ //for (int i = 0; i < size; i++) {
+ // int val = fp->getRouteIndex(i);
//cerr << fp->getWayPoint(i)->getName() << " ";
//if ((val) && (val != pos)) {
//intentions.push_back(val);
//cerr << "[done ] " << endl;
//}
- }
+ //}
+ //cerr << "[done ] " << endl;
}
- //cerr << "[done ] " << endl;
if (fp) {
//cerr << "Currently at leg : " << fp->getLeg() << endl;
}
double heading = fgGetDouble("/orientation/heading-deg");
double speed = fgGetDouble("/velocities/groundspeed-kt");
double altitude = fgGetDouble("/position/altitude-ft");
+
+ /*
+ SGGeod me(SGGeod::fromDegM(longitude,
+ latitude,
+ altitude));
+ SGGeod wpt1(SGGeod::fromDegM(fp->getWayPoint(1)->getLongitude(),
+ fp->getWayPoint(1)->getLatitude(),
+ fp->getWayPoint(1)->getAltitude()));
+ SGGeod wpt2(SGGeod::fromDegM(fp->getWayPoint(1)->getLongitude(),
+ fp->getWayPoint(1)->getLatitude(),
+ fp->getWayPoint(1)->getAltitude()));
+
+ double course1, az1, dist1;
+ double course2, az2, dist2;
+ SGGeodesy::inverse(me, wpt1, course1, az1, dist1);
+
+ cerr << "Bearing to nearest waypoint : " << course1 << " " << dist1 << ". (course " << course2 << ")." << endl;
+ */
ai_ac.setLatitude(latitude);
ai_ac.setLongitude(longitude);
ai_ac.setAltitude(altitude);