diff options
Diffstat (limited to 'routing/index_graph.hpp')
-rw-r--r-- | routing/index_graph.hpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/routing/index_graph.hpp b/routing/index_graph.hpp index 77ec8bb2a4..0d7f576b58 100644 --- a/routing/index_graph.hpp +++ b/routing/index_graph.hpp @@ -39,25 +39,28 @@ public: IndexGraph() = default; explicit IndexGraph(unique_ptr<GeometryLoader> loader, shared_ptr<EdgeEstimator> estimator); - void AddDirectEdge(uint32_t featureId, uint32_t pointFrom, uint32_t pointTo, Joint::Id target, - bool forward, vector<JointEdge> & edges) const; - void AddNeighboringEdges(RoadPoint rp, bool isOutgoing, vector<JointEdge> & edges) const; + // Creates edge for points in same feature. + void GetDirectedEdge(uint32_t featureId, uint32_t pointFrom, uint32_t pointTo, Joint::Id target, + bool forward, vector<JointEdge> & edges) const; + void GetNeighboringEdges(RoadPoint rp, bool isOutgoing, vector<JointEdge> & edges) const; void GetEdgesList(Joint::Id jointId, bool forward, vector<JointEdge> & edges) const; Joint::Id GetJointId(RoadPoint rp) const { return m_roadIndex.GetJointId(rp); } + m2::PointD const & GetPoint(Joint::Id jointId) const; + Geometry const & GetGeometry() const { return m_geometry; } EdgeEstimator const & GetEstimator() const { return *m_estimator; } - m2::PointD const & GetPoint(Joint::Id jointId) const; uint32_t GetNumRoads() const { return m_roadIndex.GetSize(); } uint32_t GetNumJoints() const { return m_jointIndex.GetNumJoints(); } uint32_t GetNumPoints() const { return m_jointIndex.GetNumPoints(); } + void Import(vector<Joint> const & joints); Joint::Id InsertJoint(RoadPoint const & rp); - bool JointLaysOnRoad(Joint::Id jointId, uint32_t featureId) const; + bool JointLiesOnRoad(Joint::Id jointId, uint32_t featureId) const; template <typename F> void ForEachPoint(Joint::Id jointId, F && f) const { - m_jointIndex.ForEachPoint(jointId, f); + m_jointIndex.ForEachPoint(jointId, forward<F>(f)); } template <class Sink> @@ -76,7 +79,7 @@ public: } private: - void AddNeighboringEdge(RoadGeometry const & road, RoadPoint rp, bool forward, + void GetNeighboringEdge(RoadGeometry const & road, RoadPoint rp, bool forward, vector<JointEdge> & edges) const; Geometry m_geometry; |