diff --git a/src/moto/ctrl.js b/src/moto/ctrl.js index 9cb5a81f..2e34cce7 100644 --- a/src/moto/ctrl.js +++ b/src/moto/ctrl.js @@ -62,13 +62,26 @@ MOTO.CTRL = function (object, domElement, notify, slider) { BOTTOM: 40 }; - // Mouse buttons - this.mouseButtons = { + // default mouse buttons + this.mouseDefault = { ORBIT: THREE.MOUSE.LEFT, - ZOOM: THREE.MOUSE.MIDDLE, + // ZOOM: THREE.MOUSE.MIDDLE, PAN: THREE.MOUSE.RIGHT }; + // Onshape + this.mouseOnshape = { + ORBIT: THREE.MOUSE.RIGHT, + // ZOOM: THREE.MOUSE.MIDDLE, + PAN: THREE.MOUSE.MIDDLE + }; + + this.mouseButtons = this.mouseDefault; + + this.setMouse = function(bindings) { + this.mouseButtons = bindings; + }; + let scope = this, domEl = scope.domElement, EPS = 0.000001, diff --git a/src/moto/space.js b/src/moto/space.js index 628892fc..2864628f 100644 --- a/src/moto/space.js +++ b/src/moto/space.js @@ -844,6 +844,13 @@ save: function() { return viewControl.getPosition(true) }, panTo: function(x,y,z) { tweenCamPan(x,y,z) }, setZoom: function(r,v) { viewControl.setZoom(r,v) }, + setCtrl: function(name) { + if (name === 'onshape') { + viewControl.setMouse(viewControl.mouseOnshape); + } else { + viewControl.setMouse(viewControl.mouseDefault); + } + }, getFPS: function() { return fps } },