#pragma once #include "routing/directions_engine.hpp" namespace routing { class PedestrianDirectionsEngine : public IDirectionsEngine { public: PedestrianDirectionsEngine(); // IDirectionsEngine override: void Generate(IRoadGraph const & graph, vector const & path, Route::TTimes & times, Route::TTurns & turns, vector & routeGeometry, vector & /* trafficSegs */, my::Cancellable const & cancellable) override; private: void CalculateTurns(IRoadGraph const & graph, vector const & routeEdges, Route::TTurns & turnsDir, my::Cancellable const & cancellable) const; uint32_t const m_typeSteps; uint32_t const m_typeLiftGate; uint32_t const m_typeGate; }; } // namespace routing