X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=_Mappings.pde;h=5bcdb739bba8a3b6000af7bf7845d83834e968ce;hb=344908672b7cfe1efba03f739ef945601dae1b8e;hp=84e887c4472f6e5ef455239ff6d7c8ba55a12544;hpb=d93dc84a47274ab9017b47572952884b6f539f81;p=SugarCubes.git diff --git a/_Mappings.pde b/_Mappings.pde index 84e887c..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,83 +101,101 @@ public Model buildModel() { // dcubes.add(new Cube(-6+CW*4/3*i+CW*2/3., CH*.5, 0, 0, 0, 0, WRR)); // } -float current_x_position = 0; +float[] pos = new float[3]; +pos[0] = 50; +pos[2] = 100; scubes.add(new StaggeredTower(//tower 1 - current_x_position, // x - 15 , // y - 0 , // z - 45, 6, new Cube.Wiring[] { WFL, WRR, WFL, WRR, WFL, WRR}) ); -current_x_position += 25.25; + 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 - current_x_position, // x - 0 , // y - -10.5 , // z - 45, 6, new Cube.Wiring[] { WFR, WFL, WRR, WRR, WFL, WRR}) ); -current_x_position += 25.25; + 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 - current_x_position, // x - 15 , // y - 0, // z - 45, 6, new Cube.Wiring[] { WRR, WFL, WRR, WRR, WFL, WRR}) ); -current_x_position += 25.25; + 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 - current_x_position, // x + pos[0], // x 0, // y - -10.5 , // z - 45, 6, new Cube.Wiring[] { WFL, WRR, WFL, WRR, WFL, WRR}) ); -current_x_position += 28; + 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 - current_x_position, // x + pos[0], // x 15 , // y - -4.5 , // z - 45, 6, new Cube.Wiring[] { WRR, WFL, WRR, WFL, WRR, WFL}) ); -current_x_position += 28; + 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 - current_x_position, // x + pos[0], // x 0 , // y - -10.5, // z - 45, 6, new Cube.Wiring[] { WFL, WRR, WFL, WRR, WFL, WRR}) ); -current_x_position += 25.25; + 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 - current_x_position, // x + pos[0], // x 15 , // y - 0, // z - 45, 6, new Cube.Wiring[] { WRR, WFL, WRR, WFL, WRR, WFL}) ); -current_x_position += 25.25; + 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 - current_x_position, // x + pos[0], // x 0 , // y - -10.5 , // z - 45, 6, new Cube.Wiring[] { WFL, WRR, WFL, WRR, WFL, WRR}) ); -current_x_position += 25.25; + 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 - current_x_position, // x + pos[0], // x 15 , // y - 0, // z - 45, 6, new Cube.Wiring[] { WFL, WRR, WFL, WRR, WFL, WRR}) ); -current_x_position += 25.25; - -//TOWERS ON DANCE FLOOR -scubes.add(new StaggeredTower(//tower 10 - 83.75+39+43-124.5, // x - 0, // y - -47.5-43, // z - 0, 4, new Cube.Wiring[]{ WRR, WFL, WRR, WFL}) ); -scubes.add(new StaggeredTower(//tower 11 - 83.75, // x - 0, // y - -47.5, // z - 0, 4, new Cube.Wiring[]{ WFL, WRR, WFL, WRR}) ); -scubes.add(new StaggeredTower(//tower 12 - 83.75+39, // x - 0, // y - -47.5, // z - 0, 4, new Cube.Wiring[]{ WRR, WFL, WRR, WFL}) ); -scubes.add(new StaggeredTower(//tower 13 - 83.75+39+43, // x - 0, // y - -47.5-43, // z - 0, 4, new Cube.Wiring[]{ WRR, WFL, WRR, WFL}) ); + 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 @@ -185,7 +216,7 @@ scubes.add(new StaggeredTower(//tower 13 // 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) { @@ -201,16 +232,20 @@ scubes.add(new StaggeredTower(//tower 13 } - 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); } @@ -226,60 +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[] { 16, 17, 18}), - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 1, 2, 3}), - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 4, 5, 6}), - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 7, 8, 9}), - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 10, 11, 12}), - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 13, 14, 15}), - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), - }), - new PandaMapping( - "10.200.1.29", new ChannelMapping[] { - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 34, 35, 36}), - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 19, 20, 21}), - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 22, 23, 24}), - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 25, 26, 27}), - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 28, 29, 30}), - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 31, 32, 33}), - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), - }), + "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.30", 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[] { 37, 38, 39}), // 30 J7 * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 40, 41, 42}), // 30 J8 * - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 43, 44, 45}), // 30 J13 (not working) - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 46, 47, 48}), // 30 J14 (unplugged) - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 49, 50, 51}), // 30 J15 (unplugged) - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 52, 53, 54}), // 30 J16 - }), - new PandaMapping( - "10.200.1.31", new ChannelMapping[] { - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), // J3 - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), // J4 - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 55, 56}), // 30 J7 - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 57, 58}), // J8 - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 59, 60}), // J13 - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 61, 62}), // 30 J14 - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 63, 64}), // J15 - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 65, 66}), // J16 - }), - new PandaMapping( - "10.200.1.32", new ChannelMapping[] { - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), // J3 - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), // J4 - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 67, 68}), // 30 J7 - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { 69, 70}), // J8 - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), // J13 - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), // 30 J14 - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), // J15 - new ChannelMapping(ChannelMapping.MODE_CUBES, new int[] { }), // 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}), + }), }; } @@ -330,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; @@ -364,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; @@ -422,4 +485,4 @@ class ChannelMapping { objectIndices[i] = (i < rawObjectIndices.length) ? rawObjectIndices[i] : NO_OBJECT; } } -} \ No newline at end of file +}