diff options
author | Vladimir Byko-Ianko <v.bykoianko@corp.mail.ru> | 2016-06-08 16:40:35 +0300 |
---|---|---|
committer | Vladimir Byko-Ianko <v.bykoianko@corp.mail.ru> | 2016-06-17 19:36:52 +0300 |
commit | a35256f8e791dda8e5e343de8483efc75d83ef58 (patch) | |
tree | da337897bd2627751162751056ffb76dfc9392b9 /routing | |
parent | 97a2bab208945d75de78fd07527084e7d34b3b8c (diff) |
Renaming tag bicycle_bidir to bidir_bicycle and other review fixes.
Diffstat (limited to 'routing')
-rw-r--r-- | routing/bicycle_model.cpp | 24 | ||||
-rw-r--r-- | routing/bicycle_model.hpp | 9 | ||||
-rw-r--r-- | routing/pedestrian_model.cpp | 21 | ||||
-rw-r--r-- | routing/pedestrian_model.hpp | 7 | ||||
-rw-r--r-- | routing/vehicle_model.hpp | 3 |
5 files changed, 28 insertions, 36 deletions
diff --git a/routing/bicycle_model.cpp b/routing/bicycle_model.cpp index c662d38545..5b7f830ee6 100644 --- a/routing/bicycle_model.cpp +++ b/routing/bicycle_model.cpp @@ -605,7 +605,7 @@ void BicycleModel::Init() m_yesBicycleType = classif().GetTypeByPath(hwtagYesbicycle); m_noBicycleType = classif().GetTypeByPath({"hwtag", "nobicycle"}); - m_bicycleBidirType = classif().GetTypeByPath({"hwtag", "bicycle_bidir"}); + m_bidirBicycleType = classif().GetTypeByPath({"hwtag", "bidir_bicycle"}); initializer_list<char const *> arr[] = { hwtagYesbicycle, {"route", "ferry"}, {"man_made", "pier"}, @@ -614,28 +614,28 @@ void BicycleModel::Init() SetAdditionalRoadTypes(classif(), arr, ARRAY_SIZE(arr)); } -VehicleModel::Restriction BicycleModel::IsNoBicycle(feature::TypesHolder const & types) const +VehicleModel::Restriction BicycleModel::IsBicycleAllowed(feature::TypesHolder const & types) const { - return types.Has(m_noBicycleType) ? Restriction::Yes : Restriction::Unknown; -} - -VehicleModel::Restriction BicycleModel::IsYesBicycle(feature::TypesHolder const & types) const -{ - return types.Has(m_yesBicycleType) ? Restriction::Yes : Restriction::Unknown; + if (types.Has(m_yesBicycleType)) + return Restriction::Yes; + if (types.Has(m_noBicycleType)) + return Restriction::No; + return Restriction::Unknown; } VehicleModel::Restriction BicycleModel::IsBicycleBidir(feature::TypesHolder const & types) const { - return types.Has(m_bicycleBidirType) ? Restriction::Yes : Restriction::Unknown; + return types.Has(m_bidirBicycleType) ? Restriction::Yes : Restriction::Unknown; } double BicycleModel::GetSpeed(FeatureType const & f) const { feature::TypesHolder const types(f); - if (IsYesBicycle(types) == Restriction::Yes) + Restriction const restriction = IsBicycleAllowed(types); + if (restriction == Restriction::Yes) return VehicleModel::GetMaxSpeed(); - if (IsNoBicycle(types) == Restriction::Unknown && HasRoadType(types)) + if (restriction != Restriction::No && HasRoadType(types)) return VehicleModel::GetMinTypeSpeed(types); return 0.0; @@ -658,7 +658,7 @@ bool BicycleModel::IsRoad(FeatureType const & f) const feature::TypesHolder const types(f); - if (IsNoBicycle(types) == Restriction::Yes) + if (IsBicycleAllowed(types) == Restriction::No) return false; return VehicleModel::HasRoadType(types); } diff --git a/routing/bicycle_model.hpp b/routing/bicycle_model.hpp index bd4185a8c4..38961f3d6f 100644 --- a/routing/bicycle_model.hpp +++ b/routing/bicycle_model.hpp @@ -21,19 +21,14 @@ public: private: void Init(); - - /// @return Restriction::Yes if road is prohibited for bicycle. - Restriction IsNoBicycle(feature::TypesHolder const & types) const; - - /// @return Restriction::Yes if road is allowed for bicycle. - Restriction IsYesBicycle(feature::TypesHolder const & types) const; + Restriction IsBicycleAllowed(feature::TypesHolder const & types) const; /// @return Restriction::Yes if it is allowed to ride bicycle in two directions. Restriction IsBicycleBidir(feature::TypesHolder const & types) const; uint32_t m_noBicycleType = 0; uint32_t m_yesBicycleType = 0; - uint32_t m_bicycleBidirType = 0; + uint32_t m_bidirBicycleType = 0; }; class BicycleModelFactory : public IVehicleModelFactory diff --git a/routing/pedestrian_model.cpp b/routing/pedestrian_model.cpp index 26147ec7ba..9e30abd9ee 100644 --- a/routing/pedestrian_model.cpp +++ b/routing/pedestrian_model.cpp @@ -633,23 +633,23 @@ void PedestrianModel::Init() SetAdditionalRoadTypes(classif(), arr, ARRAY_SIZE(arr)); } -VehicleModel::Restriction PedestrianModel::IsNoFoot(feature::TypesHolder const & types) const +VehicleModel::Restriction PedestrianModel::IsPedestrianAllowed(feature::TypesHolder const & types) const { - return types.Has(m_noFootType) ? Restriction::Yes : Restriction::Unknown; -} - -VehicleModel::Restriction PedestrianModel::IsYesFoot(feature::TypesHolder const & types) const -{ - return types.Has(m_yesFootType) ? Restriction::Yes : Restriction::Unknown; + if (types.Has(m_yesFootType)) + return Restriction::Yes; + if (types.Has(m_noFootType)) + return Restriction::No; + return Restriction::Unknown; } double PedestrianModel::GetSpeed(FeatureType const & f) const { feature::TypesHolder const types(f); - if (IsYesFoot(types) == Restriction::Yes) + Restriction const restriction = IsPedestrianAllowed(types); + if (restriction == Restriction::Yes) return VehicleModel::GetMaxSpeed(); - if (IsNoFoot(types) == Restriction::Unknown && HasRoadType(types)) + if (restriction != Restriction::No && HasRoadType(types)) return VehicleModel::GetMinTypeSpeed(types); return 0.0; @@ -662,8 +662,9 @@ bool PedestrianModel::IsRoad(FeatureType const & f) const feature::TypesHolder const types(f); - if (IsNoFoot(types) == Restriction::Yes) + if (IsPedestrianAllowed(types) == Restriction::No) return false; + return VehicleModel::HasRoadType(types); } diff --git a/routing/pedestrian_model.hpp b/routing/pedestrian_model.hpp index f513ec92c7..6cc5af66f5 100644 --- a/routing/pedestrian_model.hpp +++ b/routing/pedestrian_model.hpp @@ -21,12 +21,7 @@ public: private: void Init(); - - /// @return Restriction::Yes if road is prohibited for pedestrian. - Restriction IsNoFoot(feature::TypesHolder const & types) const; - - /// @return Restriction::Yes if road is allowed for pedestrian. - Restriction IsYesFoot(feature::TypesHolder const & types) const; + Restriction IsPedestrianAllowed(feature::TypesHolder const & types) const; uint32_t m_noFootType = 0; uint32_t m_yesFootType = 0; diff --git a/routing/vehicle_model.hpp b/routing/vehicle_model.hpp index 076819bdaa..c57af6e396 100644 --- a/routing/vehicle_model.hpp +++ b/routing/vehicle_model.hpp @@ -82,8 +82,9 @@ public: protected: enum class Restriction { - Unknown, + No, Yes, + Unknown, }; /// Used in derived class constructors only. Not for public use. |