+ FGAIFlightPlan *fp = ai_ac.GetFlightPlan();
+
+ /* 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 << fp->getWayPoint(i)->getName() << " ";
+ //if ((val) && (val != pos)) {
+ //intentions.push_back(val);
+ //cerr << "[done ] " << endl;
+ //}
+ }
+ }
+ //cerr << "[done ] " << endl;
+ if (fp) {
+ //cerr << "Currently at leg : " << fp->getLeg() << endl;
+ }
+ double longitude = fgGetDouble("/position/longitude-deg");
+ double latitude = fgGetDouble("/position/latitude-deg");
+ double heading = fgGetDouble("/orientation/heading-deg");
+ double speed = fgGetDouble("/velocities/groundspeed-kt");
+ double altitude = fgGetDouble("/position/altitude-ft");
+ ai_ac.setLatitude(latitude);
+ ai_ac.setLongitude(longitude);
+ ai_ac.setAltitude(altitude);
+ ai_ac.setHeading(heading);
+ ai_ac.setSpeed(speed);
+ ai_ac.update(time);
+ controller = ai_ac.getATCController();
+ FGATCDialogNew::instance()->update(time);
+ if (controller) {
+ //cerr << "name of previous waypoint : " << fp->getPreviousWaypoint()->getName() << endl;
+
+ //cerr << "Running FGATCManager::update()" << endl;
+ //cerr << "Currently under control of " << controller->getName() << endl;
+ controller->updateAircraftInformation(ai_ac.getID(),
+ latitude,
+ longitude,
+ heading,
+ speed,
+ altitude, time);
+ //string airport = fgGetString("/sim/presets/airport-id");
+ //FGAirport *apt = FGAirport::findByIdent(airport);
+ // AT this stage we should update the flightplan, so that waypoint incrementing is conducted as well as leg loading.
+ static SGPropertyNode_ptr trans_num = globals->get_props()->getNode("/sim/atc/transmission-num", true);
+ int n = trans_num->getIntValue();
+ if (n == 1) {
+ //cerr << "Toggling ground network visibility " << networkVisible << endl;
+ networkVisible = !networkVisible;
+ trans_num->setIntValue(-1);
+ }
+ if ((controller != prevController) && (prevController)) {
+ prevController->render(false);
+ }
+ controller->render(networkVisible);
+
+ //cerr << "Adding groundnetWork to the scenegraph::update" << endl;
+ prevController = controller;
+ }
+ for (AtcVecIterator atc = activeStations.begin(); atc != activeStations.end(); atc++) {
+ (*atc)->update(time);
+ }