Fix mapping output to use correct number of channels/cubes no matter what is in mappi...
[SugarCubes.git] / _Internals.pde
index 108bec54bfbfc802589c1426bc55fd1ad51a9a4a..d51463c7c070373c6167decca7d2fa6bc927a1d6 100644 (file)
@@ -68,8 +68,6 @@ DebugUI debugUI;
 // Camera variables
 float eyeR, eyeA, eyeX, eyeY, eyeZ, midX, midY, midZ;
 
-final float FEET = 12;
-
 void setup() {
   startMillis = lastMillis = millis();
 
@@ -97,10 +95,9 @@ void setup() {
   // Build output driver
   int[][] frontChannels = glucose.mapping.buildFrontChannelList();
   int[][] rearChannels = glucose.mapping.buildRearChannelList();
-  int[][] flippedRGB = glucose.mapping.buildFlippedRGBList();
   mappingTool = new MappingTool(glucose, frontChannels, rearChannels);
-  pandaFront = new PandaDriver(new NetAddress("192.168.1.28", 9001), glucose.model, frontChannels, flippedRGB);
-  pandaRear = new PandaDriver(new NetAddress("192.168.1.29", 9001), glucose.model, rearChannels, flippedRGB);
+  pandaFront = new PandaDriver(new NetAddress("10.200.1.28", 9001), glucose.model, frontChannels);
+  pandaRear = new PandaDriver(new NetAddress("10.200.1.29", 9001), glucose.model, rearChannels);
   logTime("Build PandaDriver");
   
   // Build overlay UI
@@ -117,10 +114,10 @@ void setup() {
   logTime("Setup MIDI devices");
     
   // Setup camera
-  midX = glucose.model.xMax/2 + 20;
+  midX = TRAILER_WIDTH/2. + 20;
   midY = glucose.model.yMax/2;
-  midZ = glucose.model.zMax/2;
-  eyeR = -270;
+  midZ = TRAILER_DEPTH/2.;
+  eyeR = -290;
   eyeA = .15;
   eyeY = midY + 20;
   eyeX = midX + eyeR*sin(eyeA);
@@ -204,7 +201,7 @@ void draw() {
   
   // 2D Overlay
   camera();
-  javax.media.opengl.GL gl= ((PGraphicsOpenGL)g).beginGL();
+  javax.media.opengl.GL gl = ((PGraphicsOpenGL)g).beginGL();
   gl.glClear(javax.media.opengl.GL.GL_DEPTH_BUFFER_BIT);
   ((PGraphicsOpenGL)g).endGL();
   strokeWeight(1);
@@ -216,21 +213,22 @@ void draw() {
   
   // TODO(mcslee): move into GLucose engine
   if (pandaBoardsEnabled) {
-    pandaFront.send(colors);
+    // pandaFront.send(colors);
     pandaRear.send(colors);
   }
 }
 
 void drawCube(Cube c) {
-  drawBox(c.x, c.y, c.z, c.rx, c.ry, c.rz, Cube.EDGE_WIDTH, Cube.EDGE_HEIGHT, Cube.EDGE_WIDTH, Cube.CHANNEL_WIDTH);
+  float in = .15;
+  drawBox(c.x+in, c.y+in, c.z+in, c.rx, c.ry, c.rz, Cube.EDGE_WIDTH-in*2, Cube.EDGE_HEIGHT-in*2, Cube.EDGE_WIDTH-in*2, Cube.CHANNEL_WIDTH-in);
 }
 
 void drawBox(float x, float y, float z, float rx, float ry, float rz, float xd, float yd, float zd, float sw) {
   pushMatrix();
   translate(x, y, z);
-  rotate(rx1, 0, 0);
+  rotate(rx / 180. * PI, -1, 0, 0);
   rotate(ry / 180. * PI, 0, -1, 0);
-  rotate(rz, 0, 0, 1);
+  rotate(rz / 180. * PI, 0, 0, -1);
   for (int i = 0; i < 4; ++i) {
     float wid = (i % 2 == 0) ? xd : zd;
     
@@ -350,8 +348,12 @@ void mouseReleased() {
 }
  
 void mouseWheel(int delta) {
-  eyeR = constrain(eyeR - delta, -500, -80);
-  eyeX = midX + eyeR*sin(eyeA);
-  eyeZ = midZ + eyeR*cos(eyeA);
+  if (mouseX > ui.leftPos) {
+    ui.mouseWheel(delta);
+  } else {
+    eyeR = constrain(eyeR - delta, -500, -80);
+    eyeX = midX + eyeR*sin(eyeA);
+    eyeZ = midZ + eyeR*cos(eyeA);
+  }
 }