Changeset 20355


Ignore:
Timestamp:
03/25/16 12:16:19 (9 years ago)
Author:
dlcheng
Message:

CHG (javascript): Fixing inconsistent zooming when approaching zoom bounds.

File:
1 edited

Legend:

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

    r20205 r20355  
    3434        // Add context state variables
    3535        //TODO:Group variables in objects for organization and naming
    36         canvas.zoomBounds = options.getfieldvalue('zoombounds',[0,100.0]);
     36        canvas.zoomBounds = options.getfieldvalue('zoombounds',[0.001,100.0]);
    3737        canvas.zoomFactor = clamp(options.getfieldvalue('zoomfactor',1.0), canvas.zoomBounds[0], canvas.zoomBounds[1]);
     38        console.log(canvas.zoomFactor);
    3839        canvas.zoomLast = canvas.zoomFactor;
    3940        canvas.cameraMatrix = mat4.create();
     
    363364function onZoom(ev,canvas,displaylog) { //{{{
    364365        ev.preventDefault();
    365         var delta = 1/10 * clamp(ev.scale || ev.wheelDelta || -ev.detail, -1, 1);
    366         canvas.zoomFactor = clamp(canvas.zoomFactor + delta / canvas.zoomFactor, canvas.zoomBounds[0], canvas.zoomBounds[1]);
     366        var delta = clamp(clamp(ev.scale || ev.wheelDelta || -ev.detail, -1, 1) / (1000  * canvas.zoomFactor), -0.1, 0.1);
     367        canvas.zoomFactor = clamp(canvas.zoomFactor + delta, canvas.zoomBounds[0], canvas.zoomBounds[1]);
    367368       
    368369        if (displaylog) console.log(canvas.zoomFactor);
Note: See TracChangeset for help on using the changeset viewer.