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>2019-03-06 09:36:44 +0300
committerVladimir Byko-Ianko <v.bykoianko@corp.mail.ru>2019-03-10 08:30:00 +0300
commitc224d0eb08d4b72e0aadb307365c5b09670dc3ac (patch)
treeeffbb972a6df8ea8fd15cc0b1c1c20f152b1643e /openlr/road_info_getter.cpp
parent8dceb19e7c17039c34de13964905054e0e2ed9da (diff)
Start openlr_stat refactoring.
Diffstat (limited to 'openlr/road_info_getter.cpp')
-rw-r--r--openlr/road_info_getter.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/openlr/road_info_getter.cpp b/openlr/road_info_getter.cpp
index 8ca5c5c884..97c2d35c28 100644
--- a/openlr/road_info_getter.cpp
+++ b/openlr/road_info_getter.cpp
@@ -8,6 +8,23 @@
#include "std/iterator.hpp"
+namespace
+{
+openlr::FunctionalRoadClass HighwayClassToFunctionalRoadClass(ftypes::HighwayClass const & hwClass)
+{
+ switch (hwClass)
+ {
+ case ftypes::HighwayClass::Trunk: return openlr::FunctionalRoadClass::FRC0;
+ case ftypes::HighwayClass::Primary: return openlr::FunctionalRoadClass::FRC1;
+ case ftypes::HighwayClass::Secondary: return openlr::FunctionalRoadClass::FRC2;
+ case ftypes::HighwayClass::Tertiary: return openlr::FunctionalRoadClass::FRC3;
+ case ftypes::HighwayClass::LivingStreet: return openlr::FunctionalRoadClass::FRC4;
+ case ftypes::HighwayClass::Service: return openlr::FunctionalRoadClass::FRC5;
+ default: return openlr::FunctionalRoadClass::FRC7;
+ }
+}
+}
+
namespace openlr
{
RoadInfoGetter::RoadInfoGetter(DataSource const & dataSource)
@@ -26,8 +43,13 @@ RoadInfoGetter::RoadInfo RoadInfoGetter::Get(FeatureID const & fid)
CHECK(g.GetOriginalFeatureByIndex(fid.m_index, ft), ());
RoadInfo info;
- info.m_frc = GetFunctionalRoadClass(feature::TypesHolder(ft));
+// info.m_frc = GetFunctionalRoadClass(feature::TypesHolder(ft));
info.m_fow = GetFormOfWay(feature::TypesHolder(ft));
+ info.m_hwClass = ftypes::GetHighwayClass(feature::TypesHolder(ft));
+ info.m_link = ftypes::IsLinkChecker::Instance()(ft);
+ info.m_oneWay = ftypes::IsOneWayChecker::Instance()(ft);
+ info.m_frc = HighwayClassToFunctionalRoadClass(info.m_hwClass);
+
it = m_cache.emplace(fid, info).first;
return it->second;