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
path: root/search
diff options
context:
space:
mode:
authorYuri Gorshenin <y@maps.me>2016-09-27 19:20:43 +0300
committerYuri Gorshenin <y@maps.me>2016-09-28 14:46:25 +0300
commitc9ef1fa3663816af59c09311d0004a0bb546c236 (patch)
tree9a7b4613b8239ceb42ea3c0daefc2689b7cbdb0f /search
parent5951f4c0f834a139a78aa375e839b84ebde75bd4 (diff)
Review fixes.
Diffstat (limited to 'search')
-rw-r--r--search/locality_finder.cpp39
-rw-r--r--search/search_tests/locality_finder_test.cpp6
2 files changed, 23 insertions, 22 deletions
diff --git a/search/locality_finder.cpp b/search/locality_finder.cpp
index 5774b267a4..7621b5f462 100644
--- a/search/locality_finder.cpp
+++ b/search/locality_finder.cpp
@@ -50,20 +50,23 @@ private:
CBV m_cbv;
};
-class DoLoader
+class LocalitiesLoader
{
public:
- DoLoader(MwmContext const & ctx, Filter const & filter, int8_t lang,
- m4::Tree<LocalityFinder::Item> & localities,
- map<MwmSet::MwmId, unordered_set<uint32_t>> & loadedIds)
- : m_ctx(ctx), m_filter(filter), m_lang(lang), m_localities(localities), m_loadedIds(loadedIds)
+ LocalitiesLoader(MwmContext const & ctx, Filter const & filter, int8_t lang,
+ m4::Tree<LocalityFinder::Item> & localities,
+ map<MwmSet::MwmId, unordered_set<uint32_t>> & loadedIds)
+ : m_ctx(ctx)
+ , m_filter(filter)
+ , m_lang(lang)
+ , m_localities(localities)
+ , m_loadedIds(loadedIds[m_ctx.GetId()])
{
}
void operator()(uint32_t id) const
{
- auto const & mwmId = m_ctx.GetId();
- if (m_loadedIds[mwmId].count(id) != 0)
+ if (m_loadedIds.count(id) != 0)
return;
if (!m_filter.IsGood(id))
@@ -83,7 +86,7 @@ public:
case TOWN:
case VILLAGE:
break;
- default: // cache only cities and towns at this moment
+ default:
return;
}
@@ -91,18 +94,16 @@ public:
if (population == 0)
return;
- auto const center = ft.GetCenter();
- double const radius = ftypes::GetRadiusByPopulation(population);
- m2::RectD const rect = MercatorBounds::RectByCenterXYAndSizeInMeters(center, radius);
-
// read item
string name;
if (!ft.GetName(m_lang, name) && !ft.GetName(0, name))
return;
+ auto const center = ft.GetCenter();
+
LocalityFinder::Item item(name, center, population);
- m_localities.Add(item, rect);
- m_loadedIds[mwmId].insert(id);
+ m_localities.Add(item, m2::RectD(center, center));
+ m_loadedIds.insert(id);
}
private:
@@ -111,7 +112,7 @@ private:
int8_t const m_lang;
m4::Tree<LocalityFinder::Item> & m_localities;
- map<MwmSet::MwmId, unordered_set<uint32_t>> & m_loadedIds;
+ unordered_set<uint32_t> & m_loadedIds;
};
} // namespace
@@ -184,16 +185,16 @@ void LocalityFinder::LoadVicinity(m2::PointD const & pt)
m_ranks = make_unique<DummyRankTable>();
MwmContext ctx(move(handle));
- ctx.ForEachIndex(drect,
- DoLoader(ctx, CityFilter(*m_ranks), m_lang, m_localities, m_loadedIds));
+ ctx.ForEachIndex(
+ drect, LocalitiesLoader(ctx, CityFilter(*m_ranks), m_lang, m_localities, m_loadedIds));
break;
}
case feature::DataHeader::country:
if (header.GetBounds().IsPointInside(pt))
{
MwmContext ctx(move(handle));
- ctx.ForEachIndex(drect, DoLoader(ctx, VillageFilter(ctx, m_villagesCache), m_lang,
- m_localities, m_loadedIds));
+ ctx.ForEachIndex(drect, LocalitiesLoader(ctx, VillageFilter(ctx, m_villagesCache), m_lang,
+ m_localities, m_loadedIds));
}
break;
case feature::DataHeader::worldcoasts: break;
diff --git a/search/search_tests/locality_finder_test.cpp b/search/search_tests/locality_finder_test.cpp
index 50ca728dda..eb5847b6b5 100644
--- a/search/search_tests/locality_finder_test.cpp
+++ b/search/search_tests/locality_finder_test.cpp
@@ -16,12 +16,12 @@
namespace
{
-struct TestWithClassifier
+struct TestWithClassificator
{
- TestWithClassifier() { classificator::Load(); }
+ TestWithClassificator() { classificator::Load(); }
};
-class LocalityFinderTest : public TestWithClassifier
+class LocalityFinderTest : public TestWithClassificator
{
platform::LocalCountryFile m_worldFile;