diff options
author | Mikko Pulkki <mikko.pulkki@mapbox.com> | 2020-03-23 18:21:13 +0200 |
---|---|---|
committer | Mikko Pulkki <55925868+mpulkki-mapbox@users.noreply.github.com> | 2020-04-06 12:10:21 +0300 |
commit | d0c103fa8f0bade2be56d50a745f16b4e9ed6b29 (patch) | |
tree | e41956f80cfd63d7ab4e154c9785b39e7e6c99d4 /src/mbgl/map/transform_state.cpp | |
parent | 69dc210598ff8319de53bb603438ba89d47d6229 (diff) | |
download | qtlocation-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.cpp | 10 |
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; |