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

Method IsSubroutePassed

libs/routing/route.cpp:455–469  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

453}
454
455bool Route::IsSubroutePassed(size_t subrouteIdx) const
456{
457 size_t const endSegmentIdx = GetSubrouteAttrs(subrouteIdx).GetEndSegmentIdx();
458 // If all subroutes up to subrouteIdx are empty.
459 if (endSegmentIdx == 0)
460 return true;
461
462 size_t const segmentIdx = endSegmentIdx - 1;
463 CHECK_LESS(segmentIdx, m_routeSegments.size(), ());
464 double const lengthMeters = m_routeSegments[segmentIdx].GetDistFromBeginningMeters();
465 double const passedDistanceMeters = m_poly.GetDistanceFromStartMeters();
466 double const finishToleranceM =
467 segmentIdx == m_routeSegments.size() - 1 ? m_routingSettings.m_finishToleranceM : kOnEndToleranceM;
468 return lengthMeters - passedDistanceMeters < finishToleranceM;
469}
470
471void Route::SetSubrouteUid(size_t segmentIdx, SubrouteUid subrouteUid)
472{

Callers 2

PassCheckpointsMethod · 0.80
UNIT_TESTFunction · 0.80

Calls 4

GetEndSegmentIdxMethod · 0.80
sizeMethod · 0.45

Tested by 1

UNIT_TESTFunction · 0.64