Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Byko-Ianko <v.bykoianko@corp.mail.ru>2016-09-08 18:17:41 +0300
committerVladimir Byko-Ianko <v.bykoianko@corp.mail.ru>2016-09-08 18:17:41 +0300
commitad612cbd2792efedc94beb4872967560433d555f (patch)
treeb961fccaacba94af461602564cc3bb3c9cd63686 /routing
parent2da3d96b27e341d00f92abf4cf3cf7fb9d99c7d8 (diff)
Better implementation for chart generation in multithreading envierment.
Diffstat (limited to 'routing')
-rw-r--r--routing/routing_session.cpp14
-rw-r--r--routing/routing_session.hpp10
2 files changed, 9 insertions, 15 deletions
diff --git a/routing/routing_session.cpp b/routing/routing_session.cpp
index affe26a4f0..eee15c3cb4 100644
--- a/routing/routing_session.cpp
+++ b/routing/routing_session.cpp
@@ -534,21 +534,15 @@ bool RoutingSession::HasRouteAltitude() const
return HasRouteAltitudeImpl();
}
-bool RoutingSession::GetRouteAltitudes(feature::TAltitudes & routeAltitudes) const
+bool RoutingSession::GetRouteAltitudesAndDistancesM(vector<double> & routeSegDistanceM,
+ feature::TAltitudes & routeAltitudesM) const
{
threads::MutexGuard guard(m_routeSessionMutex);
- if (!HasRouteAltitudeImpl())
+ if (!m_route.IsValid() || !HasRouteAltitudeImpl())
return false;
- routeAltitudes.assign(m_route.GetAltitudes().begin(), m_route.GetAltitudes().end());
- return true;
-}
-bool RoutingSession::GetSegDistanceM(vector<double> & routeSegDistanceM) const
-{
- threads::MutexGuard guard(m_routeSessionMutex);
- if (!m_route.IsValid())
- return false;
routeSegDistanceM = m_route.GetSegDistanceM();
+ routeAltitudesM.assign(m_route.GetAltitudes().cbegin(), m_route.GetAltitudes().cend());
return true;
}
diff --git a/routing/routing_session.hpp b/routing/routing_session.hpp
index 9156ab53ae..d10d637c01 100644
--- a/routing/routing_session.hpp
+++ b/routing/routing_session.hpp
@@ -108,12 +108,12 @@ public:
/// \returns true if altitude information along |m_route| is available and
/// false otherwise.
bool HasRouteAltitude() const;
- /// \brief copies route altitude information to |routeAltitudes| if any is available and
- /// returns true. If there's no navigation route, the method returns false.
- bool GetRouteAltitudes(feature::TAltitudes & routeAltitudes) const;
+
/// \brief copies distance from route beginning to ends of route segments in meters and
- /// returns true. If the route is not valid returns false.
- bool GetSegDistanceM(vector<double> & routeSegDistanceM) const;
+ /// route altitude information to |routeSegDistanceM| and |routeAltitudes|.
+ /// \returns true if there is valid route information. If the route is not valid returns false.
+ bool GetRouteAltitudesAndDistancesM(vector<double> & routeSegDistanceM,
+ feature::TAltitudes & routeAltitudesM) const;
State OnLocationPositionChanged(location::GpsInfo const & info, Index const & index);
void GetRouteFollowingInfo(location::FollowingInfo & info) const;