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

Method BuildGraphFromRequests

libs/routing/routing_tests/index_graph_tools.cpp:368–401  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

366}
367
368void TestIndexGraphTopology::Builder::BuildGraphFromRequests(vector<EdgeRequest> const & requests)
369{
370 RoadAccess::WayToAccess wayToAccess;
371 RoadAccess::WayToAccessConditional wayToAccessConditional;
372 RoadAccess::PointToAccess pointToAccess;
373 RoadAccess::PointToAccessConditional pointToAccessConditional;
374 for (auto const & request : requests)
375 {
376 BuildSegmentFromEdge(request);
377 if (request.m_accessType != RoadAccess::Type::Yes)
378 wayToAccess[request.m_id] = request.m_accessType;
379
380 if (!request.m_accessConditionalType.IsEmpty())
381 wayToAccessConditional[request.m_id] = request.m_accessConditionalType;
382
383 // All features have 1 segment. |from| has point index 0, |to| has point index 1.
384 if (request.m_fromAccessType != RoadAccess::Type::Yes)
385 pointToAccess[RoadPoint(request.m_id, 0 /* pointId */)] = request.m_fromAccessType;
386
387 if (!request.m_fromAccessConditionalType.IsEmpty())
388 pointToAccessConditional[RoadPoint(request.m_id, 0 /* pointId */)] = request.m_fromAccessConditionalType;
389
390 if (request.m_toAccessType != RoadAccess::Type::Yes)
391 pointToAccess[RoadPoint(request.m_id, 1 /* pointId */)] = request.m_toAccessType;
392
393 if (!request.m_toAccessConditionalType.IsEmpty())
394 pointToAccessConditional[RoadPoint(request.m_id, 1 /* pointId */)] = request.m_toAccessConditionalType;
395 }
396
397 m_roadAccess.SetAccess(std::move(wayToAccess), std::move(pointToAccess));
398 m_roadAccess.SetAccessConditional(std::move(wayToAccessConditional), std::move(pointToAccessConditional));
399 if (m_currentTimeGetter)
400 m_roadAccess.SetCurrentTimeGetter(m_currentTimeGetter);
401}
402
403void TestIndexGraphTopology::Builder::BuildSegmentFromEdge(EdgeRequest const & request)
404{

Callers 1

FindPathMethod · 0.80

Calls 5

RoadPointClass · 0.85
SetAccessMethod · 0.80
SetAccessConditionalMethod · 0.80
IsEmptyMethod · 0.45
SetCurrentTimeGetterMethod · 0.45

Tested by

no test coverage detected