Changeset 19945
- Timestamp:
- 01/08/16 23:58:37 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/plot/webgl.js
r19943 r19945 32 32 gl.shaders = loadShaders(gl); 33 33 34 35 36 34 // Add context state variables 37 35 //TODO:Group variables in objects for organization and naming … … 46 44 canvas.rotation = canvas.rotationDefault; 47 45 canvas.controlsensitivity = 1; 48 49 if (options.getfieldvalue('2d','off') == 'on') { 46 canvas.twod = options.getfieldvalue('2d','off') == 'on'; 47 48 if (canvas.twod) { 50 49 canvas.rotationAzimuthBounds = [0,0]; 51 50 canvas.rotationElevationBounds = [90,90]; … … 55 54 56 55 // Add event listeners for canvas 57 canvas.addEventListener("mousewheel", function (ev) {onZoom(ev,canvas,options )}, false);58 canvas.addEventListener("DOMMouseScroll", function (ev) {onZoom(ev,canvas,options )}, false);56 canvas.addEventListener("mousewheel", function (ev) {onZoom(ev,canvas,options.getfieldvalue('displayzoom','off') == 'on')}, false); 57 canvas.addEventListener("DOMMouseScroll", function (ev) {onZoom(ev,canvas,options.getfieldvalue('displayzoom','off') == 'on')}, false); 59 58 60 59 var mc = new Hammer.Manager(canvas); … … 63 62 mc.add(new Hammer.Pinch({threshold:0})).recognizeWith(mc.get('pan')); 64 63 65 mc.on("panstart panmove", function (ev) {onPan(ev,canvas,options );});66 mc.on("pinchstart pinchmove", function (ev) {onPinch(ev,canvas,options );});64 mc.on("panstart panmove", function (ev) {onPan(ev,canvas,options.getfieldvalue('displayview','off') == 'on');}); 65 mc.on("pinchstart pinchmove", function (ev) {onPinch(ev,canvas,options.getfieldvalue('displayview','off') == 'on');}); 67 66 //mc.on("mousewheel DOMMouseScroll", function (ev) {onZoom(ev,canvas,options);}); 68 67 … … 322 321 //}}} 323 322 //{{{ Interface Functions 324 function onPan(ev,canvas, options) { //{{{323 function onPan(ev,canvas,displaylog) { //{{{ 325 324 ev.preventDefault(); 326 325 if (ev.type == 'panstart') { … … 350 349 canvas.lastDeltaY = ev.deltaY; 351 350 352 if ( options.getfieldvalue('displayview','off') == 'on') console.log(canvas.rotation);353 } //}}} 354 function onPinch(ev,canvas, options) { //{{{351 if (displaylog) console.log(canvas.rotation); 352 } //}}} 353 function onPinch(ev,canvas,displaylog) { //{{{ 355 354 ev.preventDefault(); 356 355 if (ev.type == 'pinchstart') { … … 359 358 else { 360 359 canvas.zoomFactor = clamp(ev.scale * canvas.zoomLast, canvas.zoomBounds[1], canvas.zoomBounds[0]); 361 if ( options.getfieldvalue('displayzoom','off') == 'on') console.log(canvas.zoomFactor);362 } 363 } //}}} 364 function onZoom(ev,canvas, options) { //{{{360 if (displaylog) console.log(canvas.zoomFactor); 361 } 362 } //}}} 363 function onZoom(ev,canvas,displaylog) { //{{{ 365 364 ev.preventDefault(); 366 365 var delta = 1/10 * clamp(ev.scale || ev.wheelDelta || -ev.detail, -1, 1); 367 366 canvas.zoomFactor = clamp(canvas.zoomFactor - delta * canvas.zoomFactor, canvas.zoomBounds[1], canvas.zoomBounds[0]); 368 if ( options.getfieldvalue('displayzoom','off') == 'on') console.log(canvas.zoomFactor);367 if (displaylog) console.log(canvas.zoomFactor); 369 368 } //}}} 370 369 //}}} … … 379 378 var elevationRotationMatrix = mat4.create(); 380 379 381 mat4.perspective(pMatrix, 90 * Math.PI / 180, canvas.clientWidth / canvas.clientHeight, 0.001, 10000.0); 380 if (canvas.twod) { 381 mat4.ortho(pMatrix, 1*canvas.zoomFactor, -1*canvas.zoomFactor, 1*canvas.zoomFactor, -1*canvas.zoomFactor, -1, 1.0); 382 } 383 else { 384 mat4.perspective(pMatrix, 90 * Math.PI / 180, canvas.clientWidth / canvas.clientHeight, 0.001, 10000.0); 385 } 382 386 383 387 //Apply worldspace translation
Note:
See TracChangeset
for help on using the changeset viewer.