unsigned test_location(const Waypoints& waypoints, bool good) { GeoPoint loc; // at 0,0 if (!good) { loc.Longitude = Angle::degrees(fixed(-23.4)); } const Waypoint *r = waypoints.lookup_location(loc); if (r) { WaypointVisitorPrint v; v.Visit(*r); return good; } else { return !good; } }
/** * Opens up the WaypointDetails window of the nearest * waypoint to location * @param way_points Waypoints including all possible * waypoints for the calculation * @param location Location where to search * @param range Maximum range to search * @param pan True if in Pan mode * @return True if a waypoint was found */ bool PopupNearestWaypointDetails(const Waypoints &way_points, const GeoPoint &location, double range, bool scalefilter) { const Waypoint *way_point; way_point = way_points.lookup_location(location, fixed(range)); if (way_point && (!scalefilter || XCSoarInterface::main_window.map->VisibleProjection().WaypointInScaleFilter(*way_point))) { dlgWaypointSelectAddToLastUsed(*way_point); dlgWaypointDetailsShowModal(XCSoarInterface::main_window, *way_point); return true; } return false; }