summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorgalinelle <galinelle.mapbox@gmail.com>2020-03-19 18:53:09 +0200
committerGitHub <noreply@github.com>2020-03-19 18:53:09 +0200
commitbc45d65c58692cf0e21b4a932e4ba7bb674f12ba (patch)
treee7740ccd758fb92988902253a04bd1a23c9a002c /test
parentf3cf85589447765058fab3f67d615d784fd7aa5e (diff)
downloadqtlocation-mapboxgl-bc45d65c58692cf0e21b4a932e4ba7bb674f12ba.tar.gz
Add additional transformState::latLngToScreenCoordinate getter (#16311)
This change adds a latLngToScreenCoordinate overload, to retrieve the projected vec4 in additional to the ScreenCoordinate object, that is useful to detect whether the projected latLng is in front or behind the camera.
Diffstat (limited to 'test')
-rw-r--r--test/map/transform.test.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/map/transform.test.cpp b/test/map/transform.test.cpp
index 506e61aca7..41bf31a032 100644
--- a/test/map/transform.test.cpp
+++ b/test/map/transform.test.cpp
@@ -130,6 +130,16 @@ TEST(Transform, PerspectiveProjection) {
point = transform.getState().latLngToScreenCoordinate({37.692872969426375, -76.75823239205641});
ASSERT_NEAR(point.x, 1000.0, 1e-5);
ASSERT_NEAR(point.y, 0.0, 1e-4);
+
+ mbgl::vec4 p;
+ point = transform.getState().latLngToScreenCoordinate({37.692872969426375, -76.75823239205641}, p);
+ ASSERT_NEAR(point.x, 1000.0, 1e-5);
+ ASSERT_NEAR(point.y, 0.0, 1e-4);
+ ASSERT_GT(p[3], 0.0);
+
+ transform.jumpTo(CameraOptions().withCenter(LatLng{38.0, -77.0}).withZoom(18.0).withPitch(51.56620156));
+ point = transform.getState().latLngToScreenCoordinate({7.692872969426375, -76.75823239205641}, p);
+ ASSERT_LT(p[3], 0.0);
}
TEST(Transform, UnwrappedLatLng) {