diff options
author | Asheem Mamoowala <asheem.mamoowala@mapbox.com> | 2017-10-27 16:23:32 -0700 |
---|---|---|
committer | Asheem Mamoowala <asheem.mamoowala@mapbox.com> | 2017-10-30 16:44:34 -0700 |
commit | 375f9f94b6a5348ced58fa0621a8618d1c5ed075 (patch) | |
tree | a97d2b134ff010ce4c761e9d5ee027310ad2de2e | |
parent | 484c04a924565feade99f162826152fcf3acb8b9 (diff) | |
download | qtlocation-mapboxgl-375f9f94b6a5348ced58fa0621a8618d1c5ed075.tar.gz |
[core] Add LatLngBounds::contains(const LatLngBounds&)
-rw-r--r-- | include/mbgl/util/geo.hpp | 7 | ||||
-rw-r--r-- | test/util/geo.test.cpp | 6 |
2 files changed, 13 insertions, 0 deletions
diff --git a/include/mbgl/util/geo.hpp b/include/mbgl/util/geo.hpp index 6d725b102b..54a8c99fab 100644 --- a/include/mbgl/util/geo.hpp +++ b/include/mbgl/util/geo.hpp @@ -161,6 +161,13 @@ public: point.longitude() <= ne.longitude()); } + bool contains(const LatLngBounds& area) const { + return (area.ne.latitude() <= ne.latitude() && + area.sw.latitude() >= sw.latitude() && + area.ne.longitude() <= ne.longitude() && + area.sw.longitude() >= sw.longitude()); + } + bool intersects(const LatLngBounds area) const { return (area.ne.latitude() > sw.latitude() && area.sw.latitude() < ne.latitude() && diff --git a/test/util/geo.test.cpp b/test/util/geo.test.cpp index d0d01b6f88..38f29d1dd4 100644 --- a/test/util/geo.test.cpp +++ b/test/util/geo.test.cpp @@ -220,3 +220,9 @@ TEST(LatLngBounds, FromTileID) { ASSERT_DOUBLE_EQ(util::LATITUDE_MAX, bounds.north()); } } + +TEST(LatLngBounds, Contains) { + const LatLngBounds bounds( CanonicalTileID(4,2,6)); + const LatLngBounds innerBounds( CanonicalTileID(9,82,197)); + EXPECT_TRUE(bounds.contains(innerBounds)); +} |