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

Method VehicleModel

libs/routing_common/vehicle_model.cpp:30–56  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28} // namespace
29
30VehicleModel::VehicleModel(Classificator const & classif, LimitsInitList const & featureTypeLimits,
31 SurfaceInitList const & featureTypeSurface, HighwayBasedInfo const & info)
32 : m_highwayBasedInfo(info)
33 , m_onewayType(ftypes::IsOneWayChecker::Instance().GetType())
34{
35 m_roadTypes.reserve(featureTypeLimits.size());
36 for (auto const & v : featureTypeLimits)
37 {
38 m_maxModelSpeed = Max(m_maxModelSpeed, info.m_speeds.at(v.m_type));
39
40 m_roadTypes.insert({classif.GetTypeForIndex(static_cast<uint32_t>(v.m_type)), v.m_isPassThroughAllowed});
41 }
42
43 m_surfaceFactors.reserve(featureTypeSurface.size());
44 for (auto const & v : featureTypeSurface)
45 {
46 auto const & speedFactor = v.m_factor;
47 ASSERT_LESS_OR_EQUAL(speedFactor.m_weight, 1.0, ());
48 ASSERT_LESS_OR_EQUAL(speedFactor.m_eta, 1.0, ());
49 ASSERT_GREATER(speedFactor.m_weight, 0.0, ());
50 ASSERT_GREATER(speedFactor.m_eta, 0.0, ());
51 m_surfaceFactors.insert({classif.GetTypeByPath(v.m_type), speedFactor});
52
53 if (v.m_type[1] == "paved_bad")
54 m_minSurfaceFactorForMaxspeed = speedFactor;
55 }
56}
57
58void VehicleModel::AddAdditionalRoadTypes(Classificator const & classif, AdditionalRoadsList const & roads)
59{

Callers

nothing calls this directly

Calls 8

atMethod · 0.80
GetTypeByPathMethod · 0.80
MaxFunction · 0.70
GetTypeMethod · 0.45
reserveMethod · 0.45
sizeMethod · 0.45
insertMethod · 0.45
GetTypeForIndexMethod · 0.45

Tested by

no test coverage detected