- string id, alt_str;
- double alt = 0.0;
-
- string::size_type pos = arg.find( "@" );
- if ( pos != string::npos ) {
- id = arg.substr( 0, pos );
- alt_str = arg.substr( pos + 1 );
- // cout << "id str = " << id << " alt str = " << alt_str << endl;
- alt = atof( alt_str.c_str() );
- if ( !strcmp(fgGetString("/sim/startup/units"), "feet") ) {
- alt *= SG_FEET_TO_METER;
- }
- } else {
- id = arg;
- }
-
- FGAirport a;
- if ( fgFindAirportID( id, &a ) ) {
- FGRouteMgr *rm = (FGRouteMgr *)globals->get_subsystem("route-manager");
- SGWayPoint wp( a.longitude, a.latitude, alt, SGWayPoint::WGS84, id );
- rm->add_waypoint( wp );
-
- return true;
- } else {
- return false;