diff --git a/indexer/ftypes_matcher.cpp b/indexer/ftypes_matcher.cpp index d47b009fc5..7b1328e18f 100644 --- a/indexer/ftypes_matcher.cpp +++ b/indexer/ftypes_matcher.cpp @@ -73,6 +73,8 @@ char const * HighwayClassToString(ftypes::HighwayClass const cls) case ftypes::HighwayClass::Pedestrian: return "Pedestrian"; case ftypes::HighwayClass::Count: return "Count"; } + ASSERT(false, ()); + return ""; } } // namespace @@ -101,11 +103,6 @@ HighwayClass GetHighwayClass(feature::TypesHolder const & types) return HighwayClass::Error; } -HighwayClass GetHighwayClass(FeatureType const & ft) -{ - return GetHighwayClass(feature::TypesHolder(ft)); -} - uint32_t BaseChecker::PrepareToMatch(uint32_t type, uint8_t level) { ftype::TruncValue(type, level); diff --git a/indexer/ftypes_matcher.hpp b/indexer/ftypes_matcher.hpp index d5b281c88e..7f6dc48e30 100644 --- a/indexer/ftypes_matcher.hpp +++ b/indexer/ftypes_matcher.hpp @@ -212,6 +212,4 @@ enum class HighwayClass string DebugPrint(HighwayClass const cls); HighwayClass GetHighwayClass(feature::TypesHolder const & types); -HighwayClass GetHighwayClass(FeatureType const & ft); - } // namespace ftypes 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; - class BicycleDirectionsEngine : public IDirectionsEngine { public: + struct AdjacentEdges + { + explicit AdjacentEdges(size_t ingoingTurnsCount = 0) : m_ingoingTurnsCount(ingoingTurnsCount) {} + + turns::TurnCandidates m_outgoingTurns; + size_t m_ingoingTurnsCount; + }; + + using TAdjacentEdgesMap = map; + 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 const & path, vector & 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;