diff options
author | Vladimir Byko-Ianko <v.bykoianko@corp.mail.ru> | 2016-05-20 16:20:51 +0300 |
---|---|---|
committer | Vladimir Byko-Ianko <v.bykoianko@corp.mail.ru> | 2016-05-20 18:09:35 +0300 |
commit | 8afbbc31acb05ea2ffe9222f9c35f3387fa53c80 (patch) | |
tree | 5e4598e6997327e5fbe7ad4f3a6fe2e0d8108581 /routing | |
parent | b45b5c76194b70046ae5678627fd5fe64f9f83a3 (diff) |
Review fixes.
Diffstat (limited to 'routing')
-rw-r--r-- | routing/bicycle_directions.cpp | 14 | ||||
-rw-r--r-- | routing/bicycle_directions.hpp | 18 | ||||
-rw-r--r-- | routing/directions_engine.hpp | 3 | ||||
-rw-r--r-- | routing/osrm_router.cpp | 1 | ||||
-rw-r--r-- | routing/routing_integration_tests/routing_test_tools.cpp | 4 |
5 files changed, 23 insertions, 17 deletions
diff --git a/routing/bicycle_directions.cpp b/routing/bicycle_directions.cpp index c9d8f42596..afb7e1195e 100644 --- a/routing/bicycle_directions.cpp +++ b/routing/bicycle_directions.cpp @@ -15,12 +15,12 @@ namespace using namespace routing; using namespace routing::turns; -class RoutingResultGraph : public IRoutingResult +class RoutingResult : public IRoutingResult { public: - RoutingResultGraph(IRoadGraph::TEdgeVector const & routeEdges, - TAdjacentEdgesMap const & adjacentEdges, - TUnpackedPathSegments const & pathSegments) + RoutingResult(IRoadGraph::TEdgeVector const & routeEdges, + BicycleDirectionsEngine::TAdjacentEdgesMap const & adjacentEdges, + TUnpackedPathSegments const & pathSegments) : m_routeEdges(routeEdges) , m_adjacentEdges(adjacentEdges) , m_pathSegments(pathSegments) @@ -70,7 +70,7 @@ public: private: IRoadGraph::TEdgeVector const & m_routeEdges; - TAdjacentEdgesMap const & m_adjacentEdges; + BicycleDirectionsEngine::TAdjacentEdgesMap const & m_adjacentEdges; TUnpackedPathSegments const & m_pathSegments; double m_routeLength; }; @@ -151,14 +151,16 @@ void BicycleDirectionsEngine::Generate(IRoadGraph const & graph, vector<Junction LoadedPathSegment pathSegment; if (inFeatureId.IsValid()) + { LoadPathGeometry(inFeatureId, {prevJunction.GetPoint(), currJunction.GetPoint()}, pathSegment); + } m_adjacentEdges.insert(make_pair(inFeatureId.m_index, move(adjacentEdges))); m_pathSegments.push_back(move(pathSegment)); } - RoutingResultGraph resultGraph(routeEdges, m_adjacentEdges, m_pathSegments); + RoutingResult resultGraph(routeEdges, m_adjacentEdges, m_pathSegments); RouterDelegate delegate; Route::TTimes turnAnnotationTimes; Route::TStreets streetNames; diff --git a/routing/bicycle_directions.hpp b/routing/bicycle_directions.hpp index 158b76e699..8fd2ac23b2 100644 --- a/routing/bicycle_directions.hpp +++ b/routing/bicycle_directions.hpp @@ -11,19 +11,19 @@ class Index; namespace routing { -struct AdjacentEdges +class BicycleDirectionsEngine : public IDirectionsEngine { - explicit AdjacentEdges(size_t ingoingTurnsCount = 0) : m_ingoingTurnsCount(ingoingTurnsCount) {} +public: + struct AdjacentEdges + { + explicit AdjacentEdges(size_t ingoingTurnsCount = 0) : m_ingoingTurnsCount(ingoingTurnsCount) {} - turns::TurnCandidates m_outgoingTurns; - size_t m_ingoingTurnsCount; -}; + turns::TurnCandidates m_outgoingTurns; + size_t m_ingoingTurnsCount; + }; -using TAdjacentEdgesMap = map<TNodeId, AdjacentEdges>; + using TAdjacentEdgesMap = map<TNodeId, AdjacentEdges>; -class BicycleDirectionsEngine : public IDirectionsEngine -{ -public: BicycleDirectionsEngine(Index const & index); // IDirectionsEngine override: diff --git a/routing/directions_engine.hpp b/routing/directions_engine.hpp index ada7b51c90..1dd3ee7794 100644 --- a/routing/directions_engine.hpp +++ b/routing/directions_engine.hpp @@ -21,6 +21,9 @@ public: my::Cancellable const & cancellable) = 0; protected: + /// \brief constructs route based on |graph| and |path|. Fills |routeEdges| with the route. + /// \returns false in case of any errors while reconstruction, if reconstruction process + /// was cancelled and in case of extremely short paths of 0 or 1 point. Returns true otherwise. bool ReconstructPath(IRoadGraph const & graph, vector<Junction> const & path, vector<Edge> & routeEdges, my::Cancellable const & cancellable) const; diff --git a/routing/osrm_router.cpp b/routing/osrm_router.cpp index 090a17efb6..11ee0619d4 100644 --- a/routing/osrm_router.cpp +++ b/routing/osrm_router.cpp @@ -61,6 +61,7 @@ class OSRMRoutingResult : public turns::IRoutingResult public: // turns::IRoutingResult overrides: TUnpackedPathSegments const & GetSegments() const override { return m_loadedSegments; } + void GetPossibleTurns(TNodeId node, m2::PointD const & ingoingPoint, m2::PointD const & junctionPoint, size_t & ingoingCount, turns::TurnCandidates & outgoingTurns) const override diff --git a/routing/routing_integration_tests/routing_test_tools.cpp b/routing/routing_integration_tests/routing_test_tools.cpp index 56d7ba83aa..9447911d3e 100644 --- a/routing/routing_integration_tests/routing_test_tools.cpp +++ b/routing/routing_integration_tests/routing_test_tools.cpp @@ -36,8 +36,8 @@ using TRouterFactory = namespace { -double kErrorMeters = 1.0; -double kErrorSeconds = 1.0; +double constexpr kErrorMeters = 1.0; +double constexpr kErrorSeconds = 1.0; void ChangeMaxNumberOfOpenFiles(size_t n) { struct rlimit rlp; |