diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2016-05-12 11:45:12 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2016-05-13 09:01:32 -0700 |
commit | 39da776bd7f696351364440427a6cd0b8fc3589e (patch) | |
tree | bb48c1dcb873c0971c3950968a1cfad1833dccb3 /src/mbgl/util/grid_index.cpp | |
parent | 9a7b7f6af3894abfb6f15e826e33b88073d117f0 (diff) | |
download | qtlocation-mapboxgl-39da776bd7f696351364440427a6cd0b8fc3589e.tar.gz |
[core] Use mapbox::geometry::{box,envelope}
Diffstat (limited to 'src/mbgl/util/grid_index.cpp')
-rw-r--r-- | src/mbgl/util/grid_index.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/mbgl/util/grid_index.cpp b/src/mbgl/util/grid_index.cpp index 8a2ee90213..4877a90e72 100644 --- a/src/mbgl/util/grid_index.cpp +++ b/src/mbgl/util/grid_index.cpp @@ -20,13 +20,13 @@ GridIndex<T>::GridIndex(int32_t extent_, int32_t n_, int32_t padding_) : }; template <class T> -void GridIndex<T>::insert(T&& t, BBox&& bbox) { +void GridIndex<T>::insert(T&& t, const BBox& bbox) { size_t uid = elements.size(); - auto cx1 = convertToCellCoord(bbox.x1); - auto cy1 = convertToCellCoord(bbox.y1); - auto cx2 = convertToCellCoord(bbox.x2); - auto cy2 = convertToCellCoord(bbox.y2); + auto cx1 = convertToCellCoord(bbox.min.x); + auto cy1 = convertToCellCoord(bbox.min.y); + auto cx2 = convertToCellCoord(bbox.max.x); + auto cy2 = convertToCellCoord(bbox.max.y); for (int32_t x = cx1; x <= cx2; x++) { for (int32_t y = cy1; y <= cy2; y++) { @@ -43,10 +43,10 @@ std::vector<T> GridIndex<T>::query(const BBox& queryBBox) const { std::vector<T> result; std::unordered_set<size_t> seenUids; - auto cx1 = convertToCellCoord(queryBBox.x1); - auto cy1 = convertToCellCoord(queryBBox.y1); - auto cx2 = convertToCellCoord(queryBBox.x2); - auto cy2 = convertToCellCoord(queryBBox.y2); + auto cx1 = convertToCellCoord(queryBBox.min.x); + auto cy1 = convertToCellCoord(queryBBox.min.y); + auto cx2 = convertToCellCoord(queryBBox.max.x); + auto cy2 = convertToCellCoord(queryBBox.max.y); for (int32_t x = cx1; x <= cx2; x++) { for (int32_t y = cy1; y <= cy2; y++) { @@ -57,10 +57,10 @@ std::vector<T> GridIndex<T>::query(const BBox& queryBBox) const { auto& pair = elements.at(uid); auto& bbox = pair.second; - if (queryBBox.x1 <= bbox.x2 && - queryBBox.y1 <= bbox.y2 && - queryBBox.x2 >= bbox.x1 && - queryBBox.y2 >= bbox.y1) { + if (queryBBox.min.x <= bbox.max.x && + queryBBox.min.y <= bbox.max.y && + queryBBox.max.x >= bbox.min.x && + queryBBox.max.y >= bbox.min.y) { result.push_back(pair.first); } |