summaryrefslogtreecommitdiff
path: root/src/mbgl/map/transform_state.cpp
diff options
context:
space:
mode:
authorMikko Pulkki <mikko.pulkki@mapbox.com>2020-03-23 18:21:13 +0200
committerMikko Pulkki <55925868+mpulkki-mapbox@users.noreply.github.com>2020-04-06 12:10:21 +0300
commitd0c103fa8f0bade2be56d50a745f16b4e9ed6b29 (patch)
treee41956f80cfd63d7ab4e154c9785b39e7e6c99d4 /src/mbgl/map/transform_state.cpp
parent69dc210598ff8319de53bb603438ba89d47d6229 (diff)
downloadqtlocation-mapboxgl-d0c103fa8f0bade2be56d50a745f16b4e9ed6b29.tar.gz
Refactor tileCover to support lod tiles
Diffstat (limited to 'src/mbgl/map/transform_state.cpp')
-rw-r--r--src/mbgl/map/transform_state.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mbgl/map/transform_state.cpp b/src/mbgl/map/transform_state.cpp
index b5513f3d83..1894c59e2b 100644
--- a/src/mbgl/map/transform_state.cpp
+++ b/src/mbgl/map/transform_state.cpp
@@ -171,9 +171,12 @@ void TransformState::updateMatricesIfNeeded() const {
getProjMatrix(projectionMatrix);
coordMatrix = coordinatePointMatrix(projectionMatrix);
- bool err = matrix::invert(invertedMatrix, coordMatrix);
+ bool err = matrix::invert(invProjectionMatrix, projectionMatrix);
+ if (err) throw std::runtime_error("failed to invert projectionMatrix");
+ err = matrix::invert(invertedMatrix, coordMatrix);
if (err) throw std::runtime_error("failed to invert coordinatePointMatrix");
+
requestMatricesUpdate = false;
}
@@ -182,6 +185,11 @@ const mat4& TransformState::getProjectionMatrix() const {
return projectionMatrix;
}
+const mat4& TransformState::getInvProjectionMatrix() const {
+ updateMatricesIfNeeded();
+ return invProjectionMatrix;
+}
+
const mat4& TransformState::getCoordMatrix() const {
updateMatricesIfNeeded();
return coordMatrix;