| 404 | } |
| 405 | |
| 406 | void IndexGraph::GetNeighboringEdge(astar::VertexData<Segment, RouteWeight> const & fromVertexData, Segment const & to, |
| 407 | bool isOutgoing, SegmentEdgeListT & edges, Parents<Segment> const & parents, |
| 408 | bool useAccessConditional) const |
| 409 | { |
| 410 | auto const & from = fromVertexData.m_vertex; |
| 411 | auto const & weightToFrom = fromVertexData.m_realDistance; |
| 412 | |
| 413 | if (IsUTurn(from, to) && IsUTurnAndRestricted(from, to, isOutgoing)) |
| 414 | return; |
| 415 | |
| 416 | if (IsRestricted(from, from.GetFeatureId(), to.GetFeatureId(), isOutgoing, parents)) |
| 417 | return; |
| 418 | |
| 419 | if (IsAccessNoForSure(to.GetFeatureId(), weightToFrom, useAccessConditional)) |
| 420 | return; |
| 421 | |
| 422 | RoadPoint const rp = from.GetRoadPoint(isOutgoing); |
| 423 | if (IsAccessNoForSure(rp, weightToFrom, useAccessConditional)) |
| 424 | return; |
| 425 | |
| 426 | auto const weight = CalculateEdgeWeight(EdgeEstimator::Purpose::Weight, isOutgoing, from, to, weightToFrom); |
| 427 | |
| 428 | edges.emplace_back(to, weight); |
| 429 | } |
| 430 | |
| 431 | IndexGraph::PenaltyData IndexGraph::GetRoadPenaltyData(Segment const & segment) const |
| 432 | { |
nothing calls this directly
no test coverage detected