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

Method GetHighwayCategory

libs/routing/index_graph_starter.cpp:505–536  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

503}
504
505HighwayCategory IndexGraphStarter::GetHighwayCategory(Segment seg) const
506{
507 if (IsFakeSegment(seg))
508 {
509 Segment real;
510 if (m_fake.FindReal(seg, real))
511 seg = real;
512 else
513 return HighwayCategory::Unknown;
514 }
515
516 auto const hwType = m_graph.GetIndexGraph(seg.GetMwmId()).GetRoadGeometry(seg.GetFeatureId()).GetHighwayType();
517 if (!hwType)
518 return HighwayCategory::Unknown;
519
520 switch (*hwType)
521 {
522 case HighwayType::HighwayMotorway:
523 case HighwayType::HighwayMotorwayLink:
524 case HighwayType::HighwayTrunk:
525 case HighwayType::HighwayTrunkLink: return HighwayCategory::Major;
526 case HighwayType::HighwayPrimary:
527 case HighwayType::HighwayPrimaryLink: return HighwayCategory::Primary;
528 case HighwayType::HighwaySecondary:
529 case HighwayType::HighwaySecondaryLink:
530 case HighwayType::HighwayTertiary:
531 case HighwayType::HighwayTertiaryLink: return HighwayCategory::Usual;
532 case HighwayType::RouteFerry:
533 case HighwayType::RouteShuttleTrain: return HighwayCategory::Transit;
534 default: return HighwayCategory::Minor;
535 }
536}
537
538void IndexGraphStarter::AddStart(FakeEnding const & startEnding, FakeEnding const & finishEnding, bool strictForward)
539{

Callers 1

operator()Method · 0.80

Calls 4

FindRealMethod · 0.45
GetHighwayTypeMethod · 0.45
GetMwmIdMethod · 0.45
GetFeatureIdMethod · 0.45

Tested by

no test coverage detected