diff options
author | vng <viktor.govako@gmail.com> | 2011-01-06 22:56:36 +0300 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:09:18 +0300 |
commit | effddd5ed3a1080a0b3f1605d954bd0c914c9f91 (patch) | |
tree | 49c18ac30e4f0fd785e20ac41ccffd53153fe046 /indexer/scales.cpp | |
parent | 29fad748ac0872c398802e3d9e4ae467f2093713 (diff) |
- Geometry and Triangles simplification in features.
- Store Geometry and Triangles in different files of files-container for each scale range.
- Make small epsilon for simplification.
Remark: map_tests doesn't work
Diffstat (limited to 'indexer/scales.cpp')
-rw-r--r-- | indexer/scales.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/indexer/scales.cpp b/indexer/scales.cpp index eb56ff1a99..978698663e 100644 --- a/indexer/scales.cpp +++ b/indexer/scales.cpp @@ -41,9 +41,22 @@ namespace scales return GetScaleLevel((dx + dy) / 2.0); } + namespace + { + double GetEpsilonImpl(int level, int logEps) + { + return (MercatorBounds::maxX - MercatorBounds::minX) / pow(2.0, double(level + logEps - initial_level)); + } + } + double GetEpsilonForLevel(int level) { - return (MercatorBounds::maxX - MercatorBounds::minX) / pow(2.0, double(level + 6 - initial_level)); + return GetEpsilonImpl(level, 6); + } + + double GetEpsilonForSimplify(int level) + { + return GetEpsilonImpl(level, 9); } bool IsGoodForLevel(int level, m2::RectD const & r) |