diff options
author | Yury Melnichek <melnichek@gmail.com> | 2014-07-09 10:48:43 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 02:20:03 +0300 |
commit | 10acdf3b5f62736ad520ac4b267a6e1c998973ad (patch) | |
tree | 8930157dc30ddf6ff117c895565530bfa2f7422f /routing/road_graph_router.hpp | |
parent | d07df52e0d435d75dc0c1c6eb300e80f1ee17861 (diff) |
[routing] Dijkstra router.
Diffstat (limited to 'routing/road_graph_router.hpp')
-rw-r--r-- | routing/road_graph_router.hpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/routing/road_graph_router.hpp b/routing/road_graph_router.hpp new file mode 100644 index 0000000000..244adc6dcf --- /dev/null +++ b/routing/road_graph_router.hpp @@ -0,0 +1,28 @@ +#pragma once + +#include "router.hpp" +#include "road_graph.hpp" + +#include "../geometry/point2d.hpp" +#include "../std/vector.hpp" + +namespace routing +{ + +class IRoadGraph; + +class RoadGraphRouter : public IRouter +{ +public: + virtual void SetFinalPoint(m2::PointD const & finalPt); + virtual void CalculateRoute(m2::PointD const & startPt, ReadyCallback const & callback); + + virtual void SetFinalRoadPos(vector<RoadPos> const & finalPos) = 0; + virtual void CalculateRoute(vector<RoadPos> const & startPos, vector<RoadPos> & route) = 0; + virtual void SetRoadGraph(IRoadGraph * pRoadGraph) { m_pRoadGraph = pRoadGraph; } + +protected: + IRoadGraph * m_pRoadGraph; +}; + +} // namespace routing |