blob: 0f5f0dcb8b9e98ebc244e7d6d30a1079fcd75eb1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#ifndef MBGL_UTIL_TILE_COORDINATE
#define MBGL_UTIL_TILE_COORDINATE
#include <mbgl/util/vec.hpp>
namespace mbgl {
struct TileCoordinate {
float column;
float row;
float zoom;
TileCoordinate(float column_, float row_, float zoom_) :
column(column_), row(row_), zoom(zoom_) {}
TileCoordinate zoomTo(float targetZoom) {
float scale = std::pow(2, targetZoom - zoom);
return { column * scale, row * scale, targetZoom };
}
TileCoordinate operator-(TileCoordinate c) {
c = c.zoomTo(zoom);
return { column - c.column, row - c.row, zoom };
};
};
}
#endif
|