- if ( n.type == 99 ) {
- return in >> skipeol;
- }
-
- in >> n.lat >> n.lon >> n.elev_ft >> n.freq >> n.multiuse
- >> n.ident;
- getline( in, n.name );
-
- // silently multiply adf frequencies by 100 so that adf
- // vs. nav/loc frequency lookups can use the same code.
- if ( n.type == 2 ) {
- n.freq *= 100;
- }
-
- // Remove any leading spaces before the name
- while ( n.name.substr(0,1) == " " ) {
- n.name = n.name.erase(0,1);
- }
-
- if ( n.type >= 4 && n.type <= 9 ) {
- // these types are always associated with an airport id
- string::size_type pos = n.name.find(" ");
- n.apt_id = n.name.substr(0, pos);
- }
-
- // assign default ranges
- if ( n.type == 2 || n.type == 3 ) {
- n.range = FG_NAV_DEFAULT_RANGE;
- } else if ( n.type == 4 || n.type == 5 || n.type == 6 ) {
- n.range = FG_LOC_DEFAULT_RANGE;
- } else if ( n.type == 12 ) {
- n.range = FG_DME_DEFAULT_RANGE;
- } else {
- n.range = FG_LOC_DEFAULT_RANGE;
- }
-
- // transmitted ident (same as ident unless modeling a fault)
- n.trans_ident = n.ident;
-
- // generate cartesian coordinates
- Point3D geod( n.lon * SGD_DEGREES_TO_RADIANS,
- n.lat * SGD_DEGREES_TO_RADIANS,
- n.elev_ft * SG_FEET_TO_METER );
- Point3D cart = sgGeodToCart( geod );
- n.x = cart.x();
- n.y = cart.y();
- n.z = cart.z();
-
- return in;
-}