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:
authorvng <viktor.govako@gmail.com>2011-01-09 16:11:43 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:09:35 +0300
commit83011c67dce2c938ff88d7520d5ad64fef17eca7 (patch)
tree1a9f1d91d9e57a6fb04e80a59238f79af0cd6786 /indexer/scale_index_builder.hpp
parent391fc9aadf51659dff7286cd29197c3606c56c47 (diff)
Build index for the best geometry (highest drawable scale).
Diffstat (limited to 'indexer/scale_index_builder.hpp')
-rw-r--r--indexer/scale_index_builder.hpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/indexer/scale_index_builder.hpp b/indexer/scale_index_builder.hpp
index d301deb2ce..1184e93316 100644
--- a/indexer/scale_index_builder.hpp
+++ b/indexer/scale_index_builder.hpp
@@ -49,6 +49,13 @@ STATIC_ASSERT(sizeof(CellFeaturePair) == 12);
template <class SorterT>
class FeatureCoverer
{
+ int GetGeometryScale() const
+ {
+ // Do not pass actual level. We should build index for the best geometry (pass -1).
+ return -1;
+ //return m_ScaleRange.second-1;
+ }
+
public:
FeatureCoverer(uint32_t bucket,
SorterT & sorter,
@@ -64,7 +71,7 @@ public:
{
if (FeatureShouldBeIndexed(f))
{
- vector<int64_t> const cells = covering::CoverFeature(f, m_ScaleRange.second-1);
+ vector<int64_t> const cells = covering::CoverFeature(f, GetGeometryScale());
for (vector<int64_t>::const_iterator it = cells.begin(); it != cells.end(); ++it)
m_Sorter.Add(CellFeaturePair(*it, offset));
++m_NumFeatures;
@@ -75,8 +82,8 @@ public:
template <class TFeature>
bool FeatureShouldBeIndexed(TFeature const & f) const
{
- if (f.IsEmptyGeometry(m_ScaleRange.second-1))
- return false;
+ if (f.IsEmptyGeometry(GetGeometryScale()))
+ return false;
uint32_t const minScale = feature::MinDrawableScaleForFeature(f);
return (m_ScaleRange.first <= minScale && minScale < m_ScaleRange.second);