| 484 | |
| 485 | template <typename Fn> |
| 486 | void Router::ForEachNonFakeClosestEdge(Vertex const & u, FunctionalRoadClass const restriction, Fn && fn) |
| 487 | { |
| 488 | std::vector<std::pair<routing::Edge, geometry::PointWithAltitude>> vicinity; |
| 489 | m_graph.FindClosestEdges(mercator::RectByCenterXYAndSizeInMeters(u.m_junction.GetPoint(), |
| 490 | routing::FeaturesRoadGraph::kClosestEdgesRadiusM), |
| 491 | kMaxRoadCandidates, vicinity); |
| 492 | |
| 493 | for (auto const & p : vicinity) |
| 494 | { |
| 495 | auto const & edge = p.first; |
| 496 | if (edge.IsFake()) |
| 497 | continue; |
| 498 | if (!ConformLfrcnp(edge, restriction, kFRCThreshold, m_roadInfoGetter)) |
| 499 | continue; |
| 500 | fn(edge); |
| 501 | } |
| 502 | } |
| 503 | |
| 504 | template <typename It> |
| 505 | size_t Router::FindPrefixLengthToConsume(It b, It const e, double lengthM) |
nothing calls this directly
no test coverage detected