From 9e1aa7af86a8dab6e807e8ddea8dca826031cc41 Mon Sep 17 00:00:00 2001 From: archmoj Date: Mon, 4 Mar 2019 17:25:42 -0500 Subject: [PATCH] cameraInitial > viewInitial --- src/components/modebar/buttons.js | 2 +- src/plots/gl3d/index.js | 22 ++++++++++++++++--- test/jasmine/tests/gl3d_plot_interact_test.js | 8 +++---- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/components/modebar/buttons.js b/src/components/modebar/buttons.js index 33f353ec991..eac6f5e4f08 100644 --- a/src/components/modebar/buttons.js +++ b/src/components/modebar/buttons.js @@ -348,7 +348,7 @@ function handleCamera3d(gd, ev) { var scene = fullLayout[sceneId]._scene; if(attr === 'resetDefault' || attr === 'resetLastSave') { - aobj[key] = Lib.extendDeep({}, scene.cameraInitial); + aobj[key] = Lib.extendDeep({}, scene.viewInitial); aobj[key].projection = { type: (scene.camera._ortho) ? 'orthographic' : 'perspective' diff --git a/src/plots/gl3d/index.js b/src/plots/gl3d/index.js index c99979d7b98..410d69896e9 100644 --- a/src/plots/gl3d/index.js +++ b/src/plots/gl3d/index.js @@ -67,9 +67,25 @@ exports.plot = function plotGl3d(gd) { sceneLayout._scene = scene; } - // save 'initial' camera settings for modebar button - if(!scene.cameraInitial) { - scene.cameraInitial = Lib.extendDeep({}, sceneLayout.camera); + // save 'initial' camera view settings for modebar button + if(!scene.viewInitial) { + scene.viewInitial = { + up: { + x: sceneLayout.camera.up.x, + y: sceneLayout.camera.up.y, + z: sceneLayout.camera.up.z + }, + eye: { + x: sceneLayout.camera.eye.x, + y: sceneLayout.camera.eye.y, + z: sceneLayout.camera.eye.z + }, + center: { + x: sceneLayout.camera.center.x, + y: sceneLayout.camera.center.y, + z: sceneLayout.camera.center.z + } + }; } scene.plot(fullSceneData, fullLayout, gd.layout); diff --git a/test/jasmine/tests/gl3d_plot_interact_test.js b/test/jasmine/tests/gl3d_plot_interact_test.js index 9c77635eb8e..50e1ba3e21b 100644 --- a/test/jasmine/tests/gl3d_plot_interact_test.js +++ b/test/jasmine/tests/gl3d_plot_interact_test.js @@ -1043,8 +1043,8 @@ describe('Test gl3d modebar handlers', function() { it('@gl button resetCameraDefault3d should reset camera to default', function(done) { var buttonDefault = selectButton(modeBar, 'resetCameraDefault3d'); - expect(gd._fullLayout.scene._scene.cameraInitial.eye).toEqual({ x: 0.1, y: 0.1, z: 1 }); - expect(gd._fullLayout.scene2._scene.cameraInitial.eye).toEqual({ x: 2.5, y: 2.5, z: 2.5 }); + expect(gd._fullLayout.scene._scene.viewInitial.eye).toEqual({ x: 0.1, y: 0.1, z: 1 }); + expect(gd._fullLayout.scene2._scene.viewInitial.eye).toEqual({ x: 2.5, y: 2.5, z: 2.5 }); gd.once('plotly_relayout', function() { assertScenes(gd._fullLayout, 'camera.eye.x', 1.25); @@ -1099,8 +1099,8 @@ describe('Test gl3d modebar handlers', function() { assertCameraEye(gd._fullLayout.scene, 0.1, 0.1, 1); assertCameraEye(gd._fullLayout.scene2, 2.5, 2.5, 2.5); - delete gd._fullLayout.scene._scene.cameraInitial; - delete gd._fullLayout.scene2._scene.cameraInitial; + delete gd._fullLayout.scene._scene.viewInitial; + delete gd._fullLayout.scene2._scene.viewInitial; Plotly.relayout(gd, { 'scene.bgcolor': '#d3d3d3',