54 typedef std::function<void(
size_t)> ProgressReporter;
59 std::chrono::system_clock::time_point lastDump;
61 ProgressReporter reporter;
64 explicit QtRoutingProgress(ProgressReporter reporter)
65 : lastDump(std::chrono::system_clock::now()),
67 reporter(std::move(reporter))
74 lastDump=std::chrono::system_clock::now();
78 void Progress(
const Distance ¤tMaxDistance,
79 const Distance &overallDistance)
81 double currentPercent=(currentMaxDistance.AsMeter()*100.0)/overallDistance.AsMeter();
83 std::chrono::system_clock::time_point now=std::chrono::system_clock::now();
85 maxPercent=std::max(maxPercent,currentPercent);
87 if (std::chrono::duration_cast<std::chrono::milliseconds>(now-lastDump).count()>100) {
89 reporter((
size_t)maxPercent);
100 osmscout::RouterParameter routerParameter;
126 std::optional<osmscout::Bearing> bearing);
166 const std::optional<osmscout::Bearing> &bearing);
169 const osmscout::RoutePosition& start,
170 const osmscout::RoutePosition& target,
171 const std::optional<osmscout::Bearing> &bearing,
178 const std::string& start,
179 const std::string& target);
186 SettingsRef settings,
187 DBThreadRef dbThread);
void onRouteRequest(LocationEntryRef start, LocationEntryRef target, QmlRoutingProfileRef profile, int requestId, osmscout::BreakerRef breaker, std::optional< osmscout::Bearing > bearing)