+ // The bass box!
+ // BassBox bassBox = BassBox.unlitBassBox(BBX, 0, BBZ); // frame exists, no lights
+ BassBox bassBox = BassBox.noBassBox(); // no bass box at all
+ // BassBox bassBox = new BassBox(BBX, 0, BBZ); // bass box with lights
+
+ // The speakers!
+ List<Speaker> speakers = Arrays.asList(new Speaker[] {
+ // Each speaker parameter is x, y, z, rotation, the left speaker comes first
+ // new Speaker(TRAILER_WIDTH - Speaker.EDGE_WIDTH + 8, 6, 3, -15)
+ });
+
+
+ ////////////////////////////////////////////////////////////////////////
+ // dan's proposed lattice
+ ArrayList<StaggeredTower> scubes = new ArrayList<StaggeredTower>();
+ //if (NumBackTowers != 25) exit();
+ // for (int i=0; i<NumBackTowers/2; i++) scubes.add(new StaggeredTower(
+ // (i+1)*CW, // x
+ // (i % 2 == 0) ? 0 : CH * 2./3. , // y
+ // - ((i % 2 == 0) ? 11 : 0) + 80 , // z
+ // -45, (i % 2 == 0) ? MaxCubeHeight : MaxCubeHeight) ); // num cubes
+
+ // for (int i=0; i<NumBackTowers/2; i++) scubes.add(new StaggeredTower(
+ // (i+1)*CW, // x
+ // (i % 2 == 0) ? 0 : CH * 2./3. , // y
+ // - ((i % 2 == 0) ? 0 : 11) + 80 - pow(CH*CH + CW*CW, .5), // z
+ // 225, (i % 2 == 0) ? MaxCubeHeight : MaxCubeHeight-1) );
+
+ // for (int i=0; i<2 ; i++) scubes.add(new StaggeredTower(
+ // (i+1)*CW, // x
+ // 0 , // y
+ // - 0 + 97 - 2*pow(CH*CH + CW*CW, .5), // z
+ // 225, MaxCubeHeight ) );
+
+ 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));
+ // }
+
+float[] pos = new float[3];
+pos[0] = 50;
+pos[2] = 100;
+scubes.add(new StaggeredTower(//tower 1
+ pos[0], // x
+ 0 , // y
+ pos[2], // z
+ 0, 4, new Cube.Wiring[] { WRR, WRR, WRR, WRR, WRR, WRR}) );
+
+
+pos[0] += 25;
+pos[2] -= 10;
+scubes.add(new StaggeredTower(// tower 2
+ pos[0], // x
+ 15 , // y
+ pos[2], // z
+ 0, 4, new Cube.Wiring[] { WRR, WRR, WRR, WRR, WRR, WRR}) );
+
+pos[0] += 25;
+pos[2] += -12.5;
+scubes.add(new StaggeredTower(//tower 3
+ pos[0], // x
+ 0 , // y
+ pos[2], // z
+ 0, 5, new Cube.Wiring[] { WRR, WRR, WRR, WRR, WRR, WRR}) );
+
+pos[0] += -32.75;
+pos[2] += -13;
+scubes.add(new StaggeredTower(//tower 4
+ pos[0], // x
+ 0, // y
+ pos[2], // z
+ 0, 6, new Cube.Wiring[] { WRR, WRR, WRR, WRR, WRR, WRR}) );
+
+pos[0] += 26;
+pos[2] += -16;
+scubes.add(new StaggeredTower(//tower 5
+ pos[0], // x
+ 15 , // y
+ pos[2], // z
+ 0, 6, new Cube.Wiring[] { WRR, WRR, WRR, WRR, WRR, WRR}) );
+
+pos[0] += 26;
+pos[2] += -4.5;
+scubes.add(new StaggeredTower(//tower 6
+ pos[0], // x
+ 0 , // y
+ pos[2], // z
+ 0, 6, new Cube.Wiring[] { WRR, WRR, WRR, WRR, WRR, WRR}) );
+
+pos[0] += -56.5;
+pos[2] += -6.5;
+scubes.add(new StaggeredTower(// tower 7
+ pos[0], // x
+ 15 , // y
+ pos[2], // z
+ 0, 4, new Cube.Wiring[] { WRR, WRR, WRR, WRR, WRR, WRR}) );
+
+pos[0] += 26;
+pos[2] += -16.5;
+scubes.add(new StaggeredTower(//tower 8
+ pos[0], // x
+ 0 , // y
+ pos[2], // z
+ 0, 5, new Cube.Wiring[] { WRR, WRR, WRR, WRR, WRR, WRR}) );
+
+pos[0] += 27;
+pos[2] += -4.5;
+scubes.add(new StaggeredTower(//tower 9
+ pos[0], // x
+ 15 , // y
+ pos[2], // z
+ 0, 5, new Cube.Wiring[] { WRR, WRR, WRR, WRR, WRR, WRR}) );
+
+// //TOWERS ON DANCE FLOOR
+// scubes.add(new StaggeredTower(//tower 10
+// 83.75+39+43-124.5, // x
+// 0, // y
+// -47.5-43, // z
+// 45, 4, new Cube.Wiring[]{ WRR, WRR, WRR, WRR}) );
+// scubes.add(new StaggeredTower(//tower 11
+// 83.75, // x
+// 0, // y
+// -47.5, // z
+// 45, 4, new Cube.Wiring[]{ WRR, WRR, WRR, WRR}) );
+// scubes.add(new StaggeredTower(//tower 12
+// 83.75+39, // x
+// 0, // y
+// -47.5, // z
+// 45, 4, new Cube.Wiring[]{ WRR, WRR, WRR, WRR}) );
+// scubes.add(new StaggeredTower(//tower 13
+// 83.75+39+43, // x
+// 0, // y
+// -47.5-43, // z
+// 45, 4, new Cube.Wiring[]{ WRR, WRR, WRR, WRR}) );
+
+// scubes.add(new StaggeredTower(// Single cube on top of tower 4
+// 42, // x
+// 112 , // y
+// 72, // z
+// -10, 1, new Cube.Wiring[]{ WRL}) );
+
+
+
+
+
+
+
+ //////////////////////////////////////////////////////////////////////
+ // BENEATH HERE SHOULD NOT REQUIRE ANY MODIFICATION!!!! //
+ //////////////////////////////////////////////////////////////////////
+
+ // These guts just convert the shorthand mappings into usable objects