Add mouse scroll to zoom
authorMark Slee <mcslee@Mark-Slees-MacBook-Pro.local>
Fri, 28 Jun 2013 19:01:04 +0000 (12:01 -0700)
committerMark Slee <mcslee@Mark-Slees-MacBook-Pro.local>
Fri, 28 Jun 2013 19:01:04 +0000 (12:01 -0700)
_Internals.pde

index 7936724ce327b594270fae946e26a24f6c082b9b..3bf4d3199572b85cfe9370ada56c689bd1477004 100644 (file)
@@ -55,8 +55,7 @@ boolean pandaBoardsEnabled = false;
 boolean debugMode = false;
 
 // Camera variables
-final float eyeR = -270;
-float eyeA, eyeX, eyeY, eyeZ, midX, midY, midZ;
+float eyeR, eyeA, eyeX, eyeY, eyeZ, midX, midY, midZ;
 
 void setup() {
   startMillis = lastMillis = millis();
@@ -107,10 +106,16 @@ void setup() {
   midX = glucose.model.xMax/2 + 20;
   midY = glucose.model.yMax/2;
   midZ = glucose.model.zMax/2;
+  eyeR = -270;
   eyeA = .15;
   eyeY = midY + 20;
   eyeX = midX + eyeR*sin(eyeA);
   eyeZ = midZ + eyeR*cos(eyeA);
+  addMouseWheelListener(new java.awt.event.MouseWheelListener() { 
+    public void mouseWheelMoved(java.awt.event.MouseWheelEvent mwe) { 
+      mouseWheel(mwe.getWheelRotation());
+  }}); 
+  
   
   println("Total setup: " + (millis() - startMillis) + "ms");
   println("Hit the 'p' key to toggle Panda Board output");
@@ -270,4 +275,10 @@ void mouseReleased() {
     ui.mouseReleased();
   }
 }
+void mouseWheel(int delta) {
+  eyeR = constrain(eyeR - delta, -500, -80);
+  eyeX = midX + eyeR*sin(eyeA);
+  eyeZ = midZ + eyeR*cos(eyeA);
+}