From 1a99ec79e330f2dba81b1e1df463c409c6796bbe Mon Sep 17 00:00:00 2001 From: Darafei Praliaskouski Date: Wed, 3 Apr 2013 15:58:54 +0300 Subject: [PATCH] [indexer] fine-tuned epsilon for DP Simplify --- indexer/scales.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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)