From fffef4001478255e4aab536d6084cd5d86d4512d Mon Sep 17 00:00:00 2001 From: gchoqueux Date: Wed, 2 Dec 2020 17:42:35 +0100 Subject: [PATCH] refactor(Three): remove deprecated matrix method. --- src/Controls/GlobeControls.js | 2 +- src/Core/3DTiles/C3DTileset.js | 2 +- src/Core/Prefab/Globe/GlobeLayer.js | 2 +- src/Core/View.js | 2 +- src/Process/FeatureProcessing.js | 2 +- src/Utils/placeObjectOnGround.js | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Controls/GlobeControls.js b/src/Controls/GlobeControls.js index 09b0659a27..fcd8ee0d33 100644 --- a/src/Controls/GlobeControls.js +++ b/src/Controls/GlobeControls.js @@ -586,7 +586,7 @@ class GlobeControls extends THREE.EventDispatcher { // set new camera target on globe positionObject(targetPosition, cameraTarget); - cameraTarget.matrixWorldInverse.getInverse(cameraTarget.matrixWorld); + cameraTarget.matrixWorldInverse.copy(cameraTarget.matrixWorld).invert(); targetPosition.copy(this.camera.position); targetPosition.applyMatrix4(cameraTarget.matrixWorldInverse); spherical.setFromVector3(targetPosition); diff --git a/src/Core/3DTiles/C3DTileset.js b/src/Core/3DTiles/C3DTileset.js index 3e68add3bd..b377d91b27 100644 --- a/src/Core/3DTiles/C3DTileset.js +++ b/src/Core/3DTiles/C3DTileset.js @@ -78,7 +78,7 @@ class C3DTileset { if ((tile.viewerRequestVolume && tile.viewerRequestVolume.region) || (tile.boundingVolume && tile.boundingVolume.region)) { if (tile._worldFromLocalTransform) { - inverseTileTransform.getInverse(tile._worldFromLocalTransform); + inverseTileTransform.copy(tile._worldFromLocalTransform).invert(); } else { inverseTileTransform.identity(); } diff --git a/src/Core/Prefab/Globe/GlobeLayer.js b/src/Core/Prefab/Globe/GlobeLayer.js index cacf8dd343..f63997df9c 100644 --- a/src/Core/Prefab/Globe/GlobeLayer.js +++ b/src/Core/Prefab/Globe/GlobeLayer.js @@ -81,7 +81,7 @@ class GlobeLayer extends TiledGeometryLayer { // https://cesiumjs.org/2013/04/25/Horizon-culling/ // This method assumes that the globe is a unit sphere at 0,0,0 so // we setup a world-to-scaled-ellipsoid matrix4 - worldToScaledEllipsoid.getInverse(this.object3d.matrixWorld); + worldToScaledEllipsoid.copy(this.object3d.matrixWorld).invert(); worldToScaledEllipsoid.premultiply( new THREE.Matrix4().makeScale( 1 / ellipsoidSizes.x, diff --git a/src/Core/View.js b/src/Core/View.js index ed8035887d..380330b820 100644 --- a/src/Core/View.js +++ b/src/Core/View.js @@ -965,7 +965,7 @@ class View extends THREE.EventDispatcher { // Direction ray.direction.set(screen.x, screen.y, 0.5); // Unproject - matrix.multiplyMatrices(camera.matrixWorld, matrix.getInverse(camera.projectionMatrix)); + matrix.multiplyMatrices(camera.matrixWorld, matrix.copy(camera.projectionMatrix).invert()); ray.direction.applyMatrix4(matrix); ray.direction.sub(ray.origin); diff --git a/src/Process/FeatureProcessing.js b/src/Process/FeatureProcessing.js index 43fa1e1b4b..da3267ba63 100644 --- a/src/Process/FeatureProcessing.js +++ b/src/Process/FeatureProcessing.js @@ -118,7 +118,7 @@ export default { if (isApplied) { // NOTE: now data source provider use cache on Mesh // TODO move transform in feature2Mesh - mat4.copy(node.matrixWorld).getInverse(mat4).elements[14] -= result.minAltitude; + mat4.copy(node.matrixWorld).invert().elements[14] -= result.minAltitude; applyMatrix4(result, mat4); } diff --git a/src/Utils/placeObjectOnGround.js b/src/Utils/placeObjectOnGround.js index b70b79874e..887d183cb0 100644 --- a/src/Utils/placeObjectOnGround.js +++ b/src/Utils/placeObjectOnGround.js @@ -67,7 +67,7 @@ function placeObjectOnGround(layer, crs, obj, options = {}, tileHint) { } const matrices = { worldFromLocal: obj.parent ? obj.parent.matrixWorld : undefined, - localFromWorld: obj.parent ? new THREE.Matrix4().getInverse(obj.parent.matrixWorld) : undefined, + localFromWorld: obj.parent ? new THREE.Matrix4().copy(obj.parent.matrixWorld).invert() : undefined, }; const result = _updateVector3( layer, @@ -91,7 +91,7 @@ function placeObjectOnGround(layer, crs, obj, options = {}, tileHint) { } else { const matrices = { worldFromLocal: obj.matrixWorld, - localFromWorld: new THREE.Matrix4().getInverse(obj.matrixWorld), + localFromWorld: new THREE.Matrix4().copy(obj.matrixWorld).invert(), }; const geometry = obj.geometry;