X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=_Mappings.pde;h=5bcdb739bba8a3b6000af7bf7845d83834e968ce;hb=344908672b7cfe1efba03f739ef945601dae1b8e;hp=52c62457c6298ed889b4b759e15478374727d55a;hpb=29d8acbb812206793be02523854cc34dfd73c592;p=SugarCubes.git diff --git a/_Mappings.pde b/_Mappings.pde index 52c6245..5bcdb73 100644 --- a/_Mappings.pde +++ b/_Mappings.pde @@ -13,6 +13,9 @@ * when physical changes or tuning is being done to the structure. */ +final int MaxCubeHeight = 6; +final int NumBackTowers = 16; + public Model buildModel() { // Shorthand helpers for specifying wiring more quickly @@ -24,8 +27,6 @@ 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; @@ -75,12 +76,24 @@ public Model buildModel() { //////////////////////////////////////////////////////////////////////// // dan's proposed lattice ArrayList scubes = new ArrayList(); - if (NumBackTowers != 11) exit(); - // for (int i=0; i dcubes = new ArrayList(); // for (int i=1; i<6; i++) { @@ -88,80 +101,107 @@ public Model buildModel() { // 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 - 0, // x + pos[0], // x 0 , // y - 0 , // z - 0, 3, new Cube.Wiring[]{ WFR, WRL, WFR})); + 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 - 22, // x - 0 , // y - 26 , // z - 0, 3, new Cube.Wiring[]{ WRL, WFR, WRL}) ); + 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 - 27, // x + pos[0], // x 0 , // y - 64, // z - 0, 4, new Cube.Wiring[]{ WFR, WRL, WRL, WFR}) ); + 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 - 54, // x - 7, // y - 75.5 , // z - 0, 4, new Cube.Wiring[]{ WFR, WRL, WFR, WRL}) ); + 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 - 75.5, // x - 0 , // y - 100.5 , // z - 0, 4, new Cube.Wiring[]{ WRR, WFL, WRR, WFL}) ); - + 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 - 93.5, // x - 7 , // y - 75.5, // z - 0, 4, new Cube.Wiring[]{ WFR, WRL, WFR, WRL}) ); + 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 - 119, // x - 0 , // y - 56.5, // z - 0, 4, new Cube.Wiring[]{ WRL, WFR, WFR, WRL}) ); - + 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 - 136.5, // x - 7 , // y - 31.5 , // z - 0, 4, new Cube.Wiring[]{ WFR, WRL, WFR, WRL}) ); - + 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 - 161.5, // x - 0 , // y - 20 , // z - 0, 4, new Cube.Wiring[]{ WFR, WRL, WFR, WRL}) ); -scubes.add(new StaggeredTower(//tower 10 - 176, // x - 7 , // y - -6.5 , // z - 0, 3, new Cube.Wiring[]{ WRL, WFR, WRL}) ); -scubes.add(new StaggeredTower(// tower 11 - 202.5, // x - 0 , // y - -26.5, // z - 0, 3, new Cube.Wiring[]{ WRL, WFR, WRL}) ); -scubes.add(new StaggeredTower(// tower 12 CENTER TOWER AT 45degrees - 73, // x - 0 , // y - 58, // z - -45, 4, new Cube.Wiring[]{ WFR, WRL, WFR, WRL}) ); -scubes.add(new StaggeredTower(// Single cube on top of tower 3 - 22, // x - 81.5 , // y - 39, // z - -45, 1, new Cube.Wiring[]{ WRL}) ); -scubes.add(new StaggeredTower(// Single cube on top of tower 4 - 42, // x - 112 , // y - 72, // z - -10, 1, new Cube.Wiring[]{ WRL}) ); + 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}) ); @@ -176,7 +216,7 @@ scubes.add(new StaggeredTower(// Single cube on top of tower 4 // These guts just convert the shorthand mappings into usable objects ArrayList towerList = new ArrayList(); ArrayList tower; - Cube[] cubes = new Cube[100]; + Cube[] cubes = new Cube[200]; int cubeIndex = 1; float px, pz, ny; for (TowerMapping tm : towerCubes) { @@ -192,16 +232,20 @@ scubes.add(new StaggeredTower(// Single cube on top of tower 4 } - for (Cube cube : singleCubes) cubes[cubeIndex++] = cube; - for (Cube cube : dcubes) cubes[cubeIndex++] = cube; -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(); for (int i=0; i < st.n; i++) { Cube.Wiring w = (i < st.wiring.length) ? st.wiring[i] : WRR; tower.add(cubes[cubeIndex++] = new Cube(st.x, st.y + CH* 4/3.*i, st.z, 0, st.r, 0, w)); } towerList.add(new Tower(tower)); - } + } return new Model(towerList, cubes, bassBox, speakers); } @@ -217,50 +261,88 @@ public PandaMapping[] buildPandaList() { // 8 channels map to: 3, 4, 7, 8, 13, 14, 15, 16. return new PandaMapping[] { new PandaMapping( - "10.200.1.28", new ChannelMapping[] { - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), // 30 J3 * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), // 30 J4 //ORIG * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 41, 42}), // 30 J7 * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 43, 44}), // 30 J8 * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 6, 3}), // 30 J13 (not working) - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 45, 46}), // 30 J14 (unplugged) - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1, 2}), // 30 J15 (unplugged) - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 4, 5}), // 30 J16 - }), - new PandaMapping( - "10.200.1.29", new ChannelMapping[] { - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), // 30 J3 * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), // 30 J4 //ORIG * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 7, 8}), // 30 J7 * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 9, 10}), // 30 J8 * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 11, 12}), // 30 J13 (not working) - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 13, 14}), // 30 J14 (unplugged) - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 15, 16}), // 30 J15 (unplugged) - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 17, 18}), // 30 J16 - }), - new PandaMapping( - "10.200.1.30", new ChannelMapping[] { - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 38, 39}), // 30 J3 * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), // 30 J4 //ORIG * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 23, 24}), // 30 J7 * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 25, 26}), // 30 J8 * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 19, 20}), // 30 J13 (not working) - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 21, 22}), // 30 J14 (unplugged) - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), // 30 J15 (unplugged) - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), // 30 J16 - - }), + "192.168.88.100", new ChannelMapping[] { // G1 + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 6}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 5}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 6}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 7}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 7}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 8}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 2}), + + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 4}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 3}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 11}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 10}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 9}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 9}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 12}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 13}), + }), + + new PandaMapping( + "192.168.88.101", new ChannelMapping[] { //G4 + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 25}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 23}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 24}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 43}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 45}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 44}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1}), + + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 41}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 42}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 21}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 20}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 22}), + }), + new PandaMapping( - "10.200.1.31", new ChannelMapping[] { - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 37, 40}), // 30 J3 * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), // 30 J4 //ORIG * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 27, 28}), // 30 J7 * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 29, 30}), // 30 J8 * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 31, 32}), // 30 J13 (not working) - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 33, 34}), // 30 J14 (unplugged) - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 35, 36}), // 30 J15 (unplugged) - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), // 30 J16 // 31 J16 - }), + "192.168.88.104", new ChannelMapping[] { // G3 + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 26}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 28}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 27}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 19}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 18}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 17}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1}), + + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 18}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 19}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 15}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 16}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 14}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 29}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 30}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 31}), + }), + + new PandaMapping( + "192.168.88.105", new ChannelMapping[] { // G2 + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 39}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 38}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 40}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 34}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 35}), + + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 33}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 32}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 37}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 37}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1}), + new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1}), + }), }; } @@ -311,7 +393,7 @@ class StaggeredTower { class PandaMapping { // How many channels are on the panda board - public final static int CHANNELS_PER_BOARD = 8; + public final static int CHANNELS_PER_BOARD = 16; // How many total pixels on the whole board public final static int PIXELS_PER_BOARD = ChannelMapping.PIXELS_PER_CHANNEL * CHANNELS_PER_BOARD; @@ -345,7 +427,7 @@ class PandaMapping { class ChannelMapping { // How many cubes per channel xc_PB is configured for - public final static int CUBES_PER_CHANNEL = 4; + public final static int CUBES_PER_CHANNEL = 1; // How many total pixels on each channel public final static int PIXELS_PER_CHANNEL = Cube.POINTS_PER_CUBE * CUBES_PER_CHANNEL;