From 31f58ade96c2a32cb8951bdbe35b31ae39ce0b72 Mon Sep 17 00:00:00 2001 From: hey24sheep Date: Mon, 13 Sep 2021 22:17:34 +0530 Subject: [PATCH 1/4] ctrl zoom feature --- source/viewer/navigation.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/source/viewer/navigation.js b/source/viewer/navigation.js index a4a290d..dcbf9e6 100644 --- a/source/viewer/navigation.js +++ b/source/viewer/navigation.js @@ -396,7 +396,15 @@ OV.Navigation = class let moveDiff = this.mouse.GetMoveDiff (); let mouseButton = this.mouse.GetButton (); - if (mouseButton === 1) { + if (mouseButton === 1 && ev.ctrlKey) { + let params = ev || window.event; + let delta = -params.movementY / 40; + let ratio = 0.01; + if (delta < 0) { + ratio = ratio * -1.0; + } + this.Zoom(ratio); + } else if (mouseButton === 1) { let orbitRatio = 0.5; this.Orbit (moveDiff.x * orbitRatio, moveDiff.y * orbitRatio); } else if (mouseButton === 2 || mouseButton === 3) { From 089f4a0fc92edb918ae500b3ac92a7277af93497 Mon Sep 17 00:00:00 2001 From: hey24sheep Date: Thu, 16 Sep 2021 16:38:53 +0530 Subject: [PATCH 2/4] disable zoom on movement along x-axis --- source/viewer/navigation.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/source/viewer/navigation.js b/source/viewer/navigation.js index dcbf9e6..dc336cb 100644 --- a/source/viewer/navigation.js +++ b/source/viewer/navigation.js @@ -398,12 +398,14 @@ OV.Navigation = class let mouseButton = this.mouse.GetButton (); if (mouseButton === 1 && ev.ctrlKey) { let params = ev || window.event; - let delta = -params.movementY / 40; - let ratio = 0.01; - if (delta < 0) { - ratio = ratio * -1.0; + if (params.movementX === 0) { + let delta = -params.movementY / 40; + let ratio = 0.02; + if (delta < 0) { + ratio = ratio * -1.0; + } + this.Zoom(ratio); } - this.Zoom(ratio); } else if (mouseButton === 1) { let orbitRatio = 0.5; this.Orbit (moveDiff.x * orbitRatio, moveDiff.y * orbitRatio); From f9e8be8ed0545ef1ead2805ab04248ca1398f70b Mon Sep 17 00:00:00 2001 From: kovacsv Date: Fri, 17 Sep 2021 08:07:26 +0200 Subject: [PATCH 3/4] Make ctrl+zoom dependent of mouse movement diff, and clean-up code. --- source/viewer/navigation.js | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/source/viewer/navigation.js b/source/viewer/navigation.js index dc336cb..8c6e250 100644 --- a/source/viewer/navigation.js +++ b/source/viewer/navigation.js @@ -396,19 +396,14 @@ OV.Navigation = class let moveDiff = this.mouse.GetMoveDiff (); let mouseButton = this.mouse.GetButton (); - if (mouseButton === 1 && ev.ctrlKey) { - let params = ev || window.event; - if (params.movementX === 0) { - let delta = -params.movementY / 40; - let ratio = 0.02; - if (delta < 0) { - ratio = ratio * -1.0; - } - this.Zoom(ratio); + if (mouseButton === 1) { + if (ev.ctrlKey) { + let zoomRatio = 0.001; + this.Zoom (-moveDiff.y * zoomRatio); + } else { + let orbitRatio = 0.5; + this.Orbit (moveDiff.x * orbitRatio, moveDiff.y * orbitRatio); } - } else if (mouseButton === 1) { - let orbitRatio = 0.5; - this.Orbit (moveDiff.x * orbitRatio, moveDiff.y * orbitRatio); } else if (mouseButton === 2 || mouseButton === 3) { let eyeCenterDistance = OV.CoordDistance3D (this.camera.eye, this.camera.center); let panRatio = 0.001 * eyeCenterDistance; From 39e10560c94b84636e4ffe80b9699f191b3e5dd2 Mon Sep 17 00:00:00 2001 From: hey24sheep Date: Fri, 17 Sep 2021 14:07:54 +0530 Subject: [PATCH 4/4] increased zoomRatio to 0.005 --- source/viewer/navigation.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/viewer/navigation.js b/source/viewer/navigation.js index 8c6e250..53c1de6 100644 --- a/source/viewer/navigation.js +++ b/source/viewer/navigation.js @@ -398,7 +398,7 @@ OV.Navigation = class let mouseButton = this.mouse.GetButton (); if (mouseButton === 1) { if (ev.ctrlKey) { - let zoomRatio = 0.001; + let zoomRatio = 0.005; this.Zoom (-moveDiff.y * zoomRatio); } else { let orbitRatio = 0.5;