MCPcopy Create free account
hub / github.com/comaps/comaps / GetRouteEdges

Method GetRouteEdges

libs/routing/index_road_graph.cpp:82–112  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

80}
81
82void IndexRoadGraph::GetRouteEdges(EdgeVector & edges) const
83{
84 edges.clear();
85 edges.reserve(m_segments.size());
86
87 for (Segment const & segment : m_segments)
88 {
89 auto const & junctionFrom = m_starter.GetJunction(segment, false /* front */).ToPointWithAltitude();
90 auto const & junctionTo = m_starter.GetJunction(segment, true /* front */).ToPointWithAltitude();
91
92 if (IndexGraphStarter::IsFakeSegment(segment) || TransitGraph::IsTransitSegment(segment))
93 {
94 Segment real = segment;
95 if (m_starter.ConvertToReal(real))
96 {
97 edges.push_back(Edge::MakeFakeWithRealPart({m_dataSource.GetMwmId(real.GetMwmId()), real.GetFeatureId()},
98 segment.GetSegmentIdx(), real.IsForward(), real.GetSegmentIdx(),
99 junctionFrom, junctionTo));
100 }
101 else
102 {
103 edges.push_back(Edge::MakeFake(junctionFrom, junctionTo));
104 }
105 }
106 else
107 {
108 edges.push_back(Edge::MakeReal({m_dataSource.GetMwmId(segment.GetMwmId()), segment.GetFeatureId()},
109 segment.IsForward(), segment.GetSegmentIdx(), junctionFrom, junctionTo));
110 }
111 }
112}
113
114void IndexRoadGraph::GetEdges(geometry::PointWithAltitude const & junction, bool isOutgoing, EdgeListT & edges) const
115{

Callers

nothing calls this directly

Calls 10

ToPointWithAltitudeMethod · 0.80
clearMethod · 0.45
reserveMethod · 0.45
sizeMethod · 0.45
ConvertToRealMethod · 0.45
push_backMethod · 0.45
GetMwmIdMethod · 0.45
GetFeatureIdMethod · 0.45
GetSegmentIdxMethod · 0.45
IsForwardMethod · 0.45

Tested by

no test coverage detected