void Marks::MarkLocation(const GeoPoint &loc, const BrokenDateTime &time, bool play_sound) { Poco::ScopedRWLock protect(lock, true); if (play_sound) PlayResource(_T("IDR_WAV_CLEAR")); marker_store.push_back(loc); char message[160]; sprintf(message, "%02u.%02u.%04u\t%02u:%02u:%02u\tLon:%f\tLat:%f", time.day, time.month, time.year, time.hour, time.minute, time.second, (double)(loc.Longitude.value_degrees()), (double)(loc.Latitude.value_degrees())); TextWriter *writer = CreateDataTextFile(_T("xcsoar-marks.txt"), true); if (writer != NULL) { writer->writeln(message); delete writer; } }
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 WayPointFileWinPilot::composeLine(TextWriter &writer, const Waypoint& wp) { // Attach the waypoint id to the output writer.printf("%u,", wp.id); // Attach the latitude to the output composeAngle(writer, wp.Location.Latitude, true); writer.write(','); // Attach the longitude id to the output composeAngle(writer, wp.Location.Longitude, false); writer.write(','); // Attach the altitude id to the output composeAltitude(writer, wp.Altitude); writer.write(','); // Attach the waypoint flags to the output composeFlags(writer, wp.Flags); writer.write(','); // Attach the waypoint name to the output writer.write(wp.Name.c_str()); writer.write(','); // Attach the waypoint description to the output writer.writeln(wp.Comment.c_str()); }