Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Byko-Ianko <v.bykoianko@corp.mail.ru>2016-06-08 16:40:35 +0300
committerVladimir Byko-Ianko <v.bykoianko@corp.mail.ru>2016-06-17 19:36:52 +0300
commita35256f8e791dda8e5e343de8483efc75d83ef58 (patch)
treeda337897bd2627751162751056ffb76dfc9392b9 /routing
parent97a2bab208945d75de78fd07527084e7d34b3b8c (diff)
Renaming tag bicycle_bidir to bidir_bicycle and other review fixes.
Diffstat (limited to 'routing')
-rw-r--r--routing/bicycle_model.cpp24
-rw-r--r--routing/bicycle_model.hpp9
-rw-r--r--routing/pedestrian_model.cpp21
-rw-r--r--routing/pedestrian_model.hpp7
-rw-r--r--routing/vehicle_model.hpp3
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.