Changeset 20555


Ignore:
Timestamp:
04/25/16 22:19:13 (9 years ago)
Author:
dlcheng
Message:

CHG (javascript): Adding controlsensitivity for camera movement, tweaking default values.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/plot/webgl.js

    r20485 r20555  
    4343        canvas.rotationDefault = options.getfieldvalue('view',[0,90]); //0 azimuth - up is north, 90 elevation - looking straight down
    4444        canvas.rotation = canvas.rotationDefault;
    45         canvas.controlsensitivity = 1;
     45        canvas.controlsensitivity = options.getfieldvalue('controlsensitivity',1);
    4646        canvas.twod = options.getfieldvalue('2d','off') == 'on';
    4747        canvas.moviePlay = true;
     
    331331        }
    332332        if (ev.srcEvent.shiftKey || ev.pointers.length == 2) {
    333                 var deltaX = (canvas.lastDeltaX - ev.deltaX) / canvas.clientWidth / canvas.zoomFactor * -2;
    334                 var deltaY = (canvas.lastDeltaY - ev.deltaY) / canvas.clientHeight / canvas.zoomFactor * -2;
     333                var deltaX = (canvas.lastDeltaX - ev.deltaX) / canvas.clientWidth / canvas.zoomFactor * -2 * canvas.controlsensitivity;
     334                var deltaY = (canvas.lastDeltaY - ev.deltaY) / canvas.clientHeight / canvas.zoomFactor * -2 * canvas.controlsensitivity;
    335335               
    336336                canvas.translation[0] += Math.cos(radians(canvas.rotation[0])) * deltaX - Math.sin(radians(canvas.rotation[0])) * deltaY;
     
    338338        }
    339339        else {
    340                 canvas.rotation[0] += degrees((canvas.lastDeltaX - ev.deltaX) / canvas.clientWidth / canvas.zoomFactor * -2);
    341                 canvas.rotation[1] += degrees((canvas.lastDeltaY - ev.deltaY) / canvas.clientHeight / canvas.zoomFactor * -2);
     340                canvas.rotation[0] += degrees((canvas.lastDeltaX - ev.deltaX) / canvas.clientWidth / canvas.zoomFactor * -2 * canvas.controlsensitivity);
     341                canvas.rotation[1] += degrees((canvas.lastDeltaY - ev.deltaY) / canvas.clientHeight / canvas.zoomFactor * -2 * canvas.controlsensitivity);
    342342               
    343343                if (canvas.rotation[0] > 360) {canvas.rotation[0] -= 360};
     
    352352        canvas.lastDeltaY = ev.deltaY;
    353353       
    354         if (displaylog) console.log(canvas.rotation);
     354        if (displaylog) console.log(canvas.translation);
    355355} //}}}
    356356function onPinch(ev,canvas,displaylog) { //{{{
     
    366366function onZoom(ev,canvas,displaylog) { //{{{
    367367        ev.preventDefault();
    368         var delta = clamp(clamp(ev.scale || ev.wheelDelta || -ev.detail, -1, 1) / (1000  * canvas.zoomFactor), -0.1, 0.1);
     368        var delta = clamp(clamp(ev.scale || ev.wheelDelta || -ev.detail, -1, 1) * canvas.controlsensitivity * canvas.zoomFactor / 20, -1.0, 1.0);
    369369        canvas.zoomFactor = clamp(canvas.zoomFactor + delta, canvas.zoomBounds[0], canvas.zoomBounds[1]);
    370370       
Note: See TracChangeset for help on using the changeset viewer.