MCPcopy Create free account
hub / github.com/comaps/comaps / CalcTilesCoverage

Function CalcTilesCoverage

libs/drape_frontend/tile_utils.cpp:11–31  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9namespace df
10{
11CoverageResult CalcTilesCoverage(m2::RectD const & rect, int targetZoom,
12 std::function<void(int, int)> const & processTile)
13{
14 ASSERT_GREATER(targetZoom, 0, ());
15 double const rectSize = mercator::Bounds::kRangeX / (1 << (targetZoom - 1));
16
17 CoverageResult result;
18 result.m_minTileX = static_cast<int>(floor(rect.minX() / rectSize));
19 result.m_maxTileX = static_cast<int>(ceil(rect.maxX() / rectSize));
20 result.m_minTileY = static_cast<int>(floor(rect.minY() / rectSize));
21 result.m_maxTileY = static_cast<int>(ceil(rect.maxY() / rectSize));
22
23 if (processTile != nullptr)
24 {
25 for (int tileY = result.m_minTileY; tileY < result.m_maxTileY; ++tileY)
26 for (int tileX = result.m_minTileX; tileX < result.m_maxTileX; ++tileX)
27 processTile(tileX, tileY);
28 }
29
30 return result;
31}
32
33bool IsNeighbours(TileKey const & tileKey1, TileKey const & tileKey2)
34{

Callers 4

InvalidateRectMethod · 0.85
ResolveTileKeysMethod · 0.85
UpdateIndexMethod · 0.85
GetUserLinesGroupsMethod · 0.85

Calls 4

minXMethod · 0.80
maxXMethod · 0.80
minYMethod · 0.80
maxYMethod · 0.80

Tested by

no test coverage detected