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-09-22 12:57:05 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:24:12 +0300
commit36ecd0526d87db9e9c19d20f8333c45eb91b80f9 (patch)
tree91fb44675708be49eb69bea6faef181211a3d928 /indexer/scale_index_builder.hpp
parentded59b69b8b4bc3d41323f525de74ace95f639fa (diff)
Pass scale range of mwm to index building routine.
Diffstat (limited to 'indexer/scale_index_builder.hpp')
-rw-r--r--indexer/scale_index_builder.hpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/indexer/scale_index_builder.hpp b/indexer/scale_index_builder.hpp
index 87a3b219d7..bd8a0346ad 100644
--- a/indexer/scale_index_builder.hpp
+++ b/indexer/scale_index_builder.hpp
@@ -56,9 +56,11 @@ class FeatureCoverer
public:
FeatureCoverer(uint32_t bucket,
+ pair<int, int> const & scaleRange,
SorterT & sorter,
- uint32_t & numFeatures) :
- m_Sorter(sorter),
+ uint32_t & numFeatures)
+ : m_Sorter(sorter),
+ m_mwmScaleRange(scaleRange),
m_ScaleRange(ScaleIndexBase::ScaleRangeForBucket(bucket)),
m_NumFeatures(numFeatures)
{
@@ -69,7 +71,9 @@ public:
{
if (FeatureShouldBeIndexed(f))
{
+ /// @todo Use m_mwmScaleRange to make better covering.
vector<int64_t> const cells = covering::CoverFeature(f, RectId::DEPTH_LEVELS, 250);
+
for (vector<int64_t>::const_iterator it = cells.begin(); it != cells.end(); ++it)
m_Sorter.Add(CellFeaturePair(*it, offset));
++m_NumFeatures;
@@ -89,6 +93,7 @@ public:
private:
SorterT & m_Sorter;
+ pair<int, int> m_mwmScaleRange;
pair<uint32_t, uint32_t> m_ScaleRange;
uint32_t & m_NumFeatures;
};
@@ -112,6 +117,7 @@ private:
template <class FeaturesVectorT, class WriterT>
inline void IndexScales(uint32_t bucketsCount,
+ pair<int, int> const & scaleRange,
FeaturesVectorT const & featuresVector,
WriterT & writer,
string const & tmpFilePrefix)
@@ -133,7 +139,7 @@ inline void IndexScales(uint32_t bucketsCount,
WriterFunctor<FileWriter> out(cellsToFeaturesWriter);
SorterType sorter(1024*1024, tmpFilePrefix + ".c2f.tmp", out);
featuresVector.ForEachOffset(
- FeatureCoverer<SorterType>(bucket, sorter, numFeatures));
+ FeatureCoverer<SorterType>(bucket, scaleRange, sorter, numFeatures));
// LOG(LINFO, ("Sorting..."));
sorter.SortAndFinish();
}