Reparse tiles when zoom level > source maxzoom

so that layout property functions are applied correctly
and so that label placement is redone

js:
https://github.com/mapbox/mapbox-gl-js/pull/1005
and
440bc02505
This commit is contained in:
Ansis Brammanis
2015-05-28 16:44:28 -04:00
parent 8962442b1b
commit 1e044a175c
23 changed files with 188 additions and 201 deletions

View File

@@ -7,44 +7,44 @@ using namespace mbgl;
TEST(Variant, isChild) {
ASSERT_TRUE(TileID(1, 0, 0).isChildOf(TileID(0, 0, 0)));
ASSERT_TRUE(TileID(1, 1, 0).isChildOf(TileID(0, 0, 0)));
ASSERT_TRUE(TileID(1, 2, 0).isChildOf(TileID(0, 1, 0)));
ASSERT_TRUE(TileID(1, 3, 0).isChildOf(TileID(0, 1, 0)));
ASSERT_TRUE(TileID(1, 4, 0).isChildOf(TileID(0, 2, 0)));
ASSERT_TRUE(TileID(1, 5, 0).isChildOf(TileID(0, 2, 0)));
ASSERT_TRUE(TileID(2, 0, 0).isChildOf(TileID(0, 0, 0)));
ASSERT_TRUE(TileID(1, 0, 0, 1).isChildOf(TileID(0, 0, 0, 0)));
ASSERT_TRUE(TileID(1, 1, 0, 1).isChildOf(TileID(0, 0, 0, 0)));
ASSERT_TRUE(TileID(1, 2, 0, 1).isChildOf(TileID(0, 1, 0, 0)));
ASSERT_TRUE(TileID(1, 3, 0, 1).isChildOf(TileID(0, 1, 0, 0)));
ASSERT_TRUE(TileID(1, 4, 0, 1).isChildOf(TileID(0, 2, 0, 0)));
ASSERT_TRUE(TileID(1, 5, 0, 1).isChildOf(TileID(0, 2, 0, 0)));
ASSERT_TRUE(TileID(2, 0, 0, 2).isChildOf(TileID(0, 0, 0, 0)));
ASSERT_TRUE(TileID(2, 8, 0).isChildOf(TileID(0, 2, 0)));
ASSERT_TRUE(TileID(2, 9, 0).isChildOf(TileID(0, 2, 0)));
ASSERT_TRUE(TileID(2, 10, 0).isChildOf(TileID(0, 2, 0)));
ASSERT_TRUE(TileID(2, 11, 0).isChildOf(TileID(0, 2, 0)));
ASSERT_TRUE(TileID(2, 12, 0).isChildOf(TileID(0, 3, 0)));
ASSERT_TRUE(TileID(2, 13, 0).isChildOf(TileID(0, 3, 0)));
ASSERT_TRUE(TileID(2, 8, 0, 2).isChildOf(TileID(0, 2, 0, 0)));
ASSERT_TRUE(TileID(2, 9, 0, 2).isChildOf(TileID(0, 2, 0, 0)));
ASSERT_TRUE(TileID(2, 10, 0, 2).isChildOf(TileID(0, 2, 0, 0)));
ASSERT_TRUE(TileID(2, 11, 0, 2).isChildOf(TileID(0, 2, 0, 0)));
ASSERT_TRUE(TileID(2, 12, 0, 2).isChildOf(TileID(0, 3, 0, 0)));
ASSERT_TRUE(TileID(2, 13, 0, 2).isChildOf(TileID(0, 3, 0, 0)));
ASSERT_TRUE(TileID(1, -1, 0).isChildOf(TileID(0, -1, 0)));
ASSERT_TRUE(TileID(1, -2, 0).isChildOf(TileID(0, -1, 0)));
ASSERT_TRUE(TileID(1, -3, 0).isChildOf(TileID(0, -2, 0)));
ASSERT_TRUE(TileID(1, -4, 0).isChildOf(TileID(0, -2, 0)));
ASSERT_TRUE(TileID(2, -1, 0).isChildOf(TileID(0, -1, 0)));
ASSERT_TRUE(TileID(2, -2, 0).isChildOf(TileID(0, -1, 0)));
ASSERT_TRUE(TileID(2, -3, 0).isChildOf(TileID(0, -1, 0)));
ASSERT_TRUE(TileID(2, -4, 0).isChildOf(TileID(0, -1, 0)));
ASSERT_TRUE(TileID(2, -5, 0).isChildOf(TileID(0, -2, 0)));
ASSERT_TRUE(TileID(2, -6, 0).isChildOf(TileID(0, -2, 0)));
ASSERT_TRUE(TileID(2, -7, 0).isChildOf(TileID(0, -2, 0)));
ASSERT_TRUE(TileID(2, -8, 0).isChildOf(TileID(0, -2, 0)));
ASSERT_TRUE(TileID(1, -1, 0, 1).isChildOf(TileID(0, -1, 0, 0)));
ASSERT_TRUE(TileID(1, -2, 0, 1).isChildOf(TileID(0, -1, 0, 0)));
ASSERT_TRUE(TileID(1, -3, 0, 1).isChildOf(TileID(0, -2, 0, 0)));
ASSERT_TRUE(TileID(1, -4, 0, 1).isChildOf(TileID(0, -2, 0, 0)));
ASSERT_TRUE(TileID(2, -1, 0, 2).isChildOf(TileID(0, -1, 0, 0)));
ASSERT_TRUE(TileID(2, -2, 0, 2).isChildOf(TileID(0, -1, 0, 0)));
ASSERT_TRUE(TileID(2, -3, 0, 2).isChildOf(TileID(0, -1, 0, 0)));
ASSERT_TRUE(TileID(2, -4, 0, 2).isChildOf(TileID(0, -1, 0, 0)));
ASSERT_TRUE(TileID(2, -5, 0, 2).isChildOf(TileID(0, -2, 0, 0)));
ASSERT_TRUE(TileID(2, -6, 0, 2).isChildOf(TileID(0, -2, 0, 0)));
ASSERT_TRUE(TileID(2, -7, 0, 2).isChildOf(TileID(0, -2, 0, 0)));
ASSERT_TRUE(TileID(2, -8, 0, 2).isChildOf(TileID(0, -2, 0, 0)));
ASSERT_FALSE(TileID(4, -16, 0).isChildOf(TileID(0, -2, 0)));
ASSERT_TRUE(TileID(4, -17, 0).isChildOf(TileID(0, -2, 0)));
ASSERT_FALSE(TileID(4, -16, 0, 4).isChildOf(TileID(0, -2, 0, 0)));
ASSERT_TRUE(TileID(4, -17, 0, 4).isChildOf(TileID(0, -2, 0, 0)));
ASSERT_TRUE(TileID(2, -1, 0).isChildOf(TileID(1, -1, 0)));
ASSERT_TRUE(TileID(2, -2, 0).isChildOf(TileID(1, -1, 0)));
ASSERT_TRUE(TileID(2, -3, 0).isChildOf(TileID(1, -2, 0)));
ASSERT_TRUE(TileID(2, -4, 0).isChildOf(TileID(1, -2, 0)));
ASSERT_TRUE(TileID(3, -1, 0).isChildOf(TileID(1, -1, 0)));
ASSERT_TRUE(TileID(3, -2, 0).isChildOf(TileID(1, -1, 0)));
ASSERT_TRUE(TileID(3, -3, 0).isChildOf(TileID(1, -1, 0)));
ASSERT_TRUE(TileID(3, -4, 0).isChildOf(TileID(1, -1, 0)));
ASSERT_TRUE(TileID(3, -5, 0).isChildOf(TileID(1, -2, 0)));
ASSERT_TRUE(TileID(2, -1, 0, 2).isChildOf(TileID(1, -1, 0, 1)));
ASSERT_TRUE(TileID(2, -2, 0, 2).isChildOf(TileID(1, -1, 0, 1)));
ASSERT_TRUE(TileID(2, -3, 0, 2).isChildOf(TileID(1, -2, 0, 1)));
ASSERT_TRUE(TileID(2, -4, 0, 2).isChildOf(TileID(1, -2, 0, 1)));
ASSERT_TRUE(TileID(3, -1, 0, 3).isChildOf(TileID(1, -1, 0, 1)));
ASSERT_TRUE(TileID(3, -2, 0, 3).isChildOf(TileID(1, -1, 0, 1)));
ASSERT_TRUE(TileID(3, -3, 0, 3).isChildOf(TileID(1, -1, 0, 1)));
ASSERT_TRUE(TileID(3, -4, 0, 3).isChildOf(TileID(1, -1, 0, 1)));
ASSERT_TRUE(TileID(3, -5, 0, 3).isChildOf(TileID(1, -2, 0, 1)));
}