Repo created
This commit is contained in:
parent
4af19165ec
commit
68073add76
12458 changed files with 12350765 additions and 2 deletions
53
libs/routing/leaps_graph.hpp
Normal file
53
libs/routing/leaps_graph.hpp
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
#pragma once
|
||||
|
||||
#include "routing/base/astar_graph.hpp"
|
||||
#include "routing/base/astar_vertex_data.hpp"
|
||||
#include "routing/mwm_hierarchy_handler.hpp"
|
||||
#include "routing/route_weight.hpp"
|
||||
#include "routing/segment.hpp"
|
||||
|
||||
#include "geometry/latlon.hpp"
|
||||
|
||||
#include <vector>
|
||||
|
||||
namespace routing
|
||||
{
|
||||
class IndexGraphStarter;
|
||||
|
||||
class LeapsGraph : public AStarGraph<Segment, SegmentEdge, RouteWeight>
|
||||
{
|
||||
public:
|
||||
LeapsGraph(IndexGraphStarter & starter, MwmHierarchyHandler && hierarchyHandler);
|
||||
|
||||
// AStarGraph overrides:
|
||||
// @{
|
||||
void GetOutgoingEdgesList(astar::VertexData<Vertex, Weight> const & vertexData, EdgeListT & edges) override;
|
||||
void GetIngoingEdgesList(astar::VertexData<Vertex, Weight> const & vertexData, EdgeListT & edges) override;
|
||||
RouteWeight HeuristicCostEstimate(Segment const & from, Segment const & to) override;
|
||||
RouteWeight GetAStarWeightEpsilon() override;
|
||||
// @}
|
||||
|
||||
Segment const & GetStartSegment() const { return m_startSegment; }
|
||||
Segment const & GetFinishSegment() const { return m_finishSegment; }
|
||||
ms::LatLon const & GetPoint(Segment const & segment, bool front) const;
|
||||
|
||||
RouteWeight CalcMiddleCrossMwmWeight(std::vector<Segment> const & path);
|
||||
|
||||
private:
|
||||
void GetEdgesList(Segment const & segment, bool isOutgoing, EdgeListT & edges);
|
||||
|
||||
void GetEdgesListFromStart(EdgeListT & edges) const;
|
||||
void GetEdgesListToFinish(EdgeListT & edges) const;
|
||||
|
||||
private:
|
||||
ms::LatLon m_startPoint;
|
||||
ms::LatLon m_finishPoint;
|
||||
|
||||
Segment m_startSegment;
|
||||
Segment m_finishSegment;
|
||||
|
||||
IndexGraphStarter & m_starter;
|
||||
|
||||
MwmHierarchyHandler m_hierarchyHandler;
|
||||
};
|
||||
} // namespace routing
|
||||
Loading…
Add table
Add a link
Reference in a new issue