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:
authorDarafei Praliaskouski <komzpa@gmail.com>2013-04-03 16:58:54 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:52:44 +0300
commit1a99ec79e330f2dba81b1e1df463c409c6796bbe (patch)
tree5aa7ba2d4d17fe15198944675091047645182f27 /indexer/scales.cpp
parent852efcc356afcde4fccabd214bf38621b03d55f3 (diff)
[indexer] fine-tuned epsilon for DP Simplify
Diffstat (limited to 'indexer/scales.cpp')
-rw-r--r--indexer/scales.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/indexer/scales.cpp b/indexer/scales.cpp
index 37509f0afb..87ddf31b1f 100644
--- a/indexer/scales.cpp
+++ b/indexer/scales.cpp
@@ -86,7 +86,15 @@ namespace scales
double GetEpsilonForSimplify(int level)
{
- return GetEpsilonImpl(level, 18);
+ // Keep best geometries on highest zoom to allow scaling them deeper
+ if (level == GetUpperScale())
+ return GetEpsilonImpl(level, 16); // 16 = 0.5 px precision on 1024 tiles on zoom 21
+ // Keep crude geometries in world map
+ else if (level <= GetUpperWorldScale())
+ return GetEpsilonImpl(level, 10); // 10 = 1px precision on 512px tiles
+ // Keep perfect-looking geometries for all the other zooms
+ else
+ return GetEpsilonImpl(level, 12); // 12 = 0.5px precision on 1024px tiles
}
bool IsGoodForLevel(int level, m2::RectD const & r)