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

Method BicycleModelFactory

libs/routing_common/bicycle_model.cpp:266–304  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

264}
265
266BicycleModelFactory::BicycleModelFactory(CountryParentNameGetterFn const & countryParentNameGetterFn)
267 : VehicleModelFactory(countryParentNameGetterFn)
268{
269 using namespace bicycle_model;
270
271 // Names must be the same with country names from countries.txt
272 m_models[""] = std::make_shared<BicycleModel>(kDefaultOptions);
273
274 m_models["Australia"] = std::make_shared<BicycleModel>(AllAllowed(), NormalPedestrianAndFootwaySpeed());
275 m_models["Austria"] = std::make_shared<BicycleModel>(NoTrunk(), DismountPathSpeed());
276 // Belarus law demands to use footways for bicycles where possible.
277 m_models["Belarus"] = std::make_shared<BicycleModel>(kDefaultOptions, PreferFootwaysToRoads());
278 m_models["Belgium"] = std::make_shared<BicycleModel>(NoTrunk(), NormalPedestrianSpeed());
279 m_models["Brazil"] = std::make_shared<BicycleModel>(AllAllowed());
280 m_models["Denmark"] = std::make_shared<BicycleModel>(NoTrunk());
281 m_models["France"] = std::make_shared<BicycleModel>(NoTrunk(), NormalPedestrianSpeed());
282 m_models["Finland"] = std::make_shared<BicycleModel>(kDefaultOptions, NormalPedestrianSpeed());
283 m_models["Hungary"] = std::make_shared<BicycleModel>(NoTrunk());
284 m_models["Iceland"] = std::make_shared<BicycleModel>(AllAllowed(), NormalPedestrianAndFootwaySpeed());
285 m_models["Ireland"] = std::make_shared<BicycleModel>(AllAllowed());
286 m_models["Italy"] = std::make_shared<BicycleModel>(kDefaultOptions, NormalPedestrianSpeed());
287 m_models["Netherlands"] = std::make_shared<BicycleModel>(NoTrunk());
288 m_models["Norway"] = std::make_shared<BicycleModel>(AllAllowed(), NormalPedestrianAndFootwaySpeed());
289 m_models["Oman"] = std::make_shared<BicycleModel>(AllAllowed());
290 m_models["Philippines"] = std::make_shared<BicycleModel>(AllAllowed(), NormalPedestrianSpeed());
291 m_models["Poland"] = std::make_shared<BicycleModel>(NoTrunk());
292 m_models["Romania"] = std::make_shared<BicycleModel>(AllAllowed());
293 // Note. Despite the fact that according to
294 // https://wiki.openstreetmap.org/wiki/OSM_tags_for_routing/Access-Restrictions passing through service and
295 // living_street with a bicycle is prohibited it's allowed according to Russian traffic rules.
296 m_models["Russian Federation"] = std::make_shared<BicycleModel>(kDefaultOptions, NormalPedestrianAndFootwaySpeed());
297 m_models["Slovakia"] = std::make_shared<BicycleModel>(NoTrunk());
298 m_models["Spain"] = std::make_shared<BicycleModel>(NoTrunk(), NormalPedestrianSpeed());
299 m_models["Sweden"] = std::make_shared<BicycleModel>(kDefaultOptions, NormalPedestrianSpeed());
300 m_models["Switzerland"] = std::make_shared<BicycleModel>(NoTrunk(), NormalPedestrianAndFootwaySpeed());
301 m_models["Ukraine"] = std::make_shared<BicycleModel>(UkraineOptions());
302 m_models["United Kingdom"] = std::make_shared<BicycleModel>(AllAllowed());
303 m_models["United States of America"] = std::make_shared<BicycleModel>(AllAllowed(), NormalPedestrianSpeed());
304}
305} // namespace routing

Callers

nothing calls this directly

Calls 7

DismountPathSpeedFunction · 0.85
PreferFootwaysToRoadsFunction · 0.85
NormalPedestrianSpeedFunction · 0.85
UkraineOptionsFunction · 0.85
AllAllowedFunction · 0.70
NoTrunkFunction · 0.70

Tested by

no test coverage detected