// frequency entries (ignore)
} else if ( line_id == 110 ) {
pavement = true;
- parsePavementLine850(simgear::strutils::split(line));
+ parsePavementLine850(simgear::strutils::split(line, 0, 4));
} else if ( line_id >= 111 && line_id <= 114 ) {
if ( pavement )
parsePavementNodeLine850(line_id, simgear::strutils::split(line));
last_rwy_heading = heading;
int surface_code = atoi( token[10].c_str() );
- SGGeod pos(SGGeod::fromDegFt(lon, lat, 0.0));
+ SGGeod pos(SGGeod::fromDegFt(lon, lat, last_apt_elev));
if (rwy_no[0] == 'x') {
// taxiway
displ_thresh2, stopway2, surface_code, true);
runways.push_back(reciprocal);
+
+ rwy->setReciprocalRunway(reciprocal);
+ reciprocal->setReciprocalRunway(rwy);
}
}
pos, heading_2, length, width,
displ_thresh2, stopway2, surface_code, true);
runways.push_back(reciprocal);
+
+ rwy->setReciprocalRunway(reciprocal);
+ reciprocal->setReciprocalRunway(rwy);
}
void parseWaterRunwayLine850(const vector<string>& token)
pos, heading_2, length, width,
0.0, 0.0, 13, true);
runways.push_back(reciprocal);
+
+ rwy->setReciprocalRunway(reciprocal);
+ reciprocal->setReciprocalRunway(rwy);
}
void parseHelipadLine850(const vector<string>& token)
{
if ( token.size() >= 5 ) {
pavement_ident = token[4];
+ if ( !pavement_ident.empty() && pavement_ident[pavement_ident.size()-1] == '\r' )
+ pavement_ident.erase( pavement_ident.size()-1 );
} else {
pavement_ident = "xx";
}