updated dpat
[SugarCubes.git] / _Mappings.pde
index 9e487f0cf2656c455529a925d3b01462051894a5..7d288ef8916a31979033c229926bc344f62c486c 100644 (file)
@@ -24,6 +24,8 @@ public Model buildModel() {
   // Utility value if you need the height of a cube shorthand
   final float CH = Cube.EDGE_HEIGHT;
   final float CW = Cube.EDGE_WIDTH ;
+
+  
   
   // Positions for the bass box
   final float BBY = BassBox.EDGE_HEIGHT + BoothFloor.PLEXI_WIDTH;
@@ -49,12 +51,31 @@ public Model buildModel() {
   //  We can do better than this.  The raw object index should be obvious from the code-- looking through the
   //  rendered simulation and counting through cubes in mapping mode is grossly inefficient. 
 
+
+  ////////////////////////////////////////////////////////////////////////
+  // dan's proposed lattice
+  ArrayList<StaggeredTower> scubes = new ArrayList<StaggeredTower>();
+  if (NumBackTowers != 9) exit();
+  for (int i=0; i<NumBackTowers; i++) scubes.add(new StaggeredTower(
+      (i+1)*CW,               // x
+      (i % 2 == 0) ? 0 : CH * 2./3.   ,   // y
+     - ((i % 2 == 0) ? 0 : 11) + 97   ,   // z
+     -135, (i % 2 == 0) ? MaxCubeHeight : MaxCubeHeight-1) );  // num cubes
+  
+  ArrayList<Cube> dcubes = new ArrayList<Cube>();
+  for (int i=1; i<6; i++) {
+    if (i>1) dcubes.add(new Cube(-6+CW*4/3*i             , 0, 0, 0, 0, 0, WRR));  
+         dcubes.add(new Cube(-6+CW*4/3*i+CW*2/3., CH*.5, 0, 0, 0, 0, WRR)); 
+  }
+
+
   TowerMapping[] towerCubes = new TowerMapping[] {};
   
   // Single cubes can be constructed directly here if you need them
   Cube[] singleCubes = new Cube[] {
-    // new Cube(15, int( Cube.EDGE_HEIGHT), 39, 0, 10, 0,  WRL),     // Back left channel behind speaker
-    // new Cube(x, y, z, rx, ry, rz, wiring),
+     //new Cube(15, int( Cube.EDGE_HEIGHT), 39, 0, 10, 0,  WRL),     // Back left channel behind speaker
+     //new Cube(x, y, z, rx, ry, rz, wiring),
+     //new Cube(0,0,0,0,-135,0, WRR),
   };
 
   // The bass box!
@@ -68,23 +89,6 @@ public Model buildModel() {
      // new Speaker(TRAILER_WIDTH - Speaker.EDGE_WIDTH + 8, 6, 3, -15)
   });
 
-
-  ////////////////////////////////////////////////////////////////////////
-  // dan's proposed lattice
-       ArrayList<StaggeredTower> scubes = new ArrayList<StaggeredTower>();
-       if (NumBackTowers != 9) exit();
-       for (int i=0; i<NumBackTowers; i++) scubes.add(new StaggeredTower(
-                 (i+1)*CW,                                                             // x
-                 (i % 2 == 0) ? 0 : CH * 2./3.         ,   // y
-                - ((i % 2 == 0) ? 0 : 11) + 97         ,   // z
-                -135, (i % 2 == 0) ? MaxCubeHeight : MaxCubeHeight-1));         // num cubes
-       
-       ArrayList<Cube> dcubes = new ArrayList<Cube>();
-       for (int i=1; i<6; i++) {
-               if (i>1) dcubes.add(new Cube(-6+CW*4/3*i             , 0, 0, 0, 0, 0, WRR));    
-                                dcubes.add(new Cube(-6+CW*4/3*i+CW*2/3., CH*.5, 0, 0, 0, 0, WRR));     
-       }
-
   //////////////////////////////////////////////////////////////////////
   //      BENEATH HERE SHOULD NOT REQUIRE ANY MODIFICATION!!!!        //
   //////////////////////////////////////////////////////////////////////
@@ -107,17 +111,17 @@ public Model buildModel() {
     towerList.add(new Tower(tower));
   }
 
-  for (StaggeredTower st : scubes) {
+  
+  for (Cube cube : singleCubes) cubes[cubeIndex++] = cube;
+  for (Cube cube : dcubes)             cubes[cubeIndex++] = cube;
+for (StaggeredTower st : scubes) {
     tower = new ArrayList<Cube>();
     for (int i=0; i < st.n; i++)
       tower.add(cubes[cubeIndex++] = new Cube(st.x, st.y + CH* 4/3.*i, st.z, 0, st.r, 0, WRR));
     towerList.add(new Tower(tower));
   }
 
-  for (Cube cube : singleCubes) cubes[cubeIndex++] = cube;
-  for (Cube cube : dcubes)             cubes[cubeIndex++] = cube;
-
- return new Model(towerList, cubes, bassBox, speakers);
+  return new Model(towerList, cubes, bassBox, speakers);
 }
 
 /**
@@ -141,17 +145,17 @@ public PandaMapping[] buildPandaList() {
     //     new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }),                // 30 J15 (unplugged)
     //     new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 53, 54, 55, 72 }), // 30 J16
     // }),
-    // new PandaMapping(
-    //   "10.200.1.29", new ChannelMapping[] {
-    //     new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }),                // 29 J3  (not connected)
-    //     new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }),                // 29 J4  (not connected)
-    //     new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 28, 29, 30,  2}),  // 29 J7
-    //     new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 33, 34, 32, 31}),  // 29 J8  //XXX   
-    //     new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }),                // 29 J13 //XX //bassbox  (not working)
-    //     new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }),                // 29 J14 (not working)
-    //     new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 12, 13, 14, 15 }), // 29 J15
-    //     new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] {  8,  9, 10, 11 }), // 29 J16
-    // }),    
+    new PandaMapping(
+      "10.200.1.29", new ChannelMapping[] {
+        new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1,2,3,4}),                // 29 J3  (not connected)
+        new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1,2,3,4 }),                // 29 J4  (not connected)
+        new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1,2,3,4}),  // 29 J7
+        new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1,2,3,4}),  // 29 J8  //XXX   
+        new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 8,9,10}),                // 29 J13 //XX //bassbox  (not working)
+        new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 8,9,10 }),                // 29 J14 (not working)
+        new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 14,15,16,17 }), // 29 J15
+        new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] {  14,15,16,17 }), // 29 J16
+    }),    
     new PandaMapping(
       "10.200.1.28", new ChannelMapping[] {
 /*        new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 60, 61, 62, 63 }), // 28 J3