From 3a44826efd765c9becc5f3e2be5d835fa4294be8 Mon Sep 17 00:00:00 2001 From: tatiana-kondakova Date: Mon, 24 Jul 2017 19:48:47 +0300 Subject: [PATCH] Review fixes --- routing_common/vehicle_model.cpp | 12 +++++++++--- routing_common/vehicle_model.hpp | 13 +++++++++---- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/routing_common/vehicle_model.cpp b/routing_common/vehicle_model.cpp index 88fd8a3f05..fb7e75cff7 100644 --- a/routing_common/vehicle_model.cpp +++ b/routing_common/vehicle_model.cpp @@ -18,6 +18,12 @@ VehicleModel::AdditionalRoadType::AdditionalRoadType(Classificator const & c, { } +VehicleModel::RoadLimits::RoadLimits(double speedKMpH, bool isTransitAllowed) + : m_speedKMpH(speedKMpH), m_isTransitAllowed(isTransitAllowed) +{ + CHECK_GREATER(m_speedKMpH, 0.0, ()); +} + VehicleModel::VehicleModel(Classificator const & c, InitListT const & featureTypeLimits) : m_maxSpeedKMpH(0), m_onewayType(c.GetTypeByPath({ "hwtag", "oneway" })) @@ -26,7 +32,7 @@ VehicleModel::VehicleModel(Classificator const & c, InitListT const & featureTyp { m_maxSpeedKMpH = max(m_maxSpeedKMpH, v.m_speedKMpH); m_types.emplace(std::make_pair(c.GetTypeByPath(vector(v.m_types, v.m_types + 2)), - VehicleModel::RoadLimits(v.m_speedKMpH, v.m_isTransitAllowed))); + RoadLimits(v.m_speedKMpH, v.m_isTransitAllowed))); } } @@ -61,7 +67,7 @@ double VehicleModel::GetMinTypeSpeed(feature::TypesHolder const & types) const uint32_t const type = ftypes::BaseChecker::PrepareToMatch(t, 2); auto it = m_types.find(type); if (it != m_types.end()) - speed = min(speed, it->second.m_speedKMpH); + speed = min(speed, it->second.GetSpeedKMpH()); auto const addRoadInfoIter = FindRoadType(t); if (addRoadInfoIter != m_addRoadTypes.cend()) @@ -113,7 +119,7 @@ bool VehicleModel::IsTransitAllowed(FeatureType const & f) const { uint32_t const type = ftypes::BaseChecker::PrepareToMatch(t, 2); auto it = m_types.find(type); - if (it != m_types.end() && it->second.m_isTransitAllowed) + if (it != m_types.end() && it->second.GetIsTransitAllowed()) return true; } diff --git a/routing_common/vehicle_model.hpp b/routing_common/vehicle_model.hpp index c44034f5dc..5e9ad50de5 100644 --- a/routing_common/vehicle_model.hpp +++ b/routing_common/vehicle_model.hpp @@ -128,13 +128,18 @@ private: double const m_speedKMpH; }; - struct RoadLimits + class RoadLimits { + public: RoadLimits() = delete; - RoadLimits(double speedKMpH, bool isTransitAllowed): m_speedKMpH(speedKMpH), m_isTransitAllowed(isTransitAllowed) {}; + RoadLimits(double speedKMpH, bool isTransitAllowed); - double m_speedKMpH; - bool m_isTransitAllowed; + double GetSpeedKMpH() const {return m_speedKMpH;}; + bool GetIsTransitAllowed() const {return m_isTransitAllowed;}; + + private: + double const m_speedKMpH; + bool const m_isTransitAllowed; }; vector::const_iterator FindRoadType(uint32_t type) const;