void WaypointWriter::WriteWaypoint(TextWriter &writer, const Waypoint& wp) { // Write the waypoint id writer.printf("%u,", wp.original_id > 0 ? wp.original_id : wp.id); // Write the latitude WriteAngle(writer, wp.location.latitude, true); writer.write(','); // Write the longitude id WriteAngle(writer, wp.location.longitude, false); writer.write(','); // Write the altitude id WriteAltitude(writer, wp.altitude); writer.write(','); // Write the waypoint flags WriteFlags(writer, wp); writer.write(','); // Write the waypoint name writer.write(wp.name.c_str()); writer.write(','); // Write the waypoint description writer.writeln(wp.comment.c_str()); }
void WriteCup(TextWriter &writer, const Waypoint &wp) { // Write Title writer.Format(_T("\"%s\","), wp.name.c_str()); // Write Code writer.Write(','); // Write Country writer.Write(','); // Write Latitude WriteAngleDMM(writer, wp.location.latitude, true); writer.Write(','); // Write Longitude WriteAngleDMM(writer, wp.location.longitude, false); writer.Write(','); // Write Elevation WriteAltitude(writer, wp.elevation); writer.Write(','); // Write Style WriteSeeYouFlags(writer, wp); writer.Write(','); // Write Runway Direction if ((wp.type == Waypoint::Type::AIRFIELD || wp.type == Waypoint::Type::OUTLANDING) && wp.runway.IsDirectionDefined()) writer.Format("%03u", wp.runway.GetDirectionDegrees()); writer.Write(','); // Write Runway Length if ((wp.type == Waypoint::Type::AIRFIELD || wp.type == Waypoint::Type::OUTLANDING) && wp.runway.IsLengthDefined()) writer.Format("%03uM", wp.runway.GetLength()); writer.Write(','); // Write Airport Frequency if (wp.radio_frequency.IsDefined()) { const unsigned freq = wp.radio_frequency.GetKiloHertz(); writer.Format("\"%u.%03u\"", freq / 1000, freq % 1000); } writer.Write(','); // Write Description writer.FormatLine(_T("\"%s\""), wp.comment.c_str()); }