endShape();
noStroke();
- fill(#393939);
drawBassBox(glucose.model.bassBox);
+ for (Speaker s : glucose.model.speakers) {
+ drawSpeaker(s);
+ }
for (Cube c : glucose.model.cubes) {
drawCube(c);
}
void drawBassBox(BassBox b) {
float in = .15;
+
+ noStroke();
+ fill(#191919);
+ pushMatrix();
+ translate(b.x + BassBox.EDGE_WIDTH/2., b.y + BassBox.EDGE_HEIGHT/2, b.z + BassBox.EDGE_DEPTH/2.);
+ box(BassBox.EDGE_WIDTH-20*in, BassBox.EDGE_HEIGHT-20*in, BassBox.EDGE_DEPTH-20*in);
+ popMatrix();
+
+ noStroke();
+ fill(#393939);
drawBox(b.x+in, b.y+in, b.z+in, 0, 0, 0, BassBox.EDGE_WIDTH-in*2, BassBox.EDGE_HEIGHT-in*2, BassBox.EDGE_DEPTH-in*2, Cube.CHANNEL_WIDTH-in);
pushMatrix();
translate(BassBox.EDGE_WIDTH-2*in, 0, 0);
box(0, BassBox.EDGE_HEIGHT - in*2, Cube.CHANNEL_WIDTH-in);
popMatrix();
+
}
void drawCube(Cube c) {
float in = .15;
+ noStroke();
+ fill(#393939);
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 drawSpeaker(Speaker s) {
+ float in = .15;
+
+ noStroke();
+ fill(#191919);
+ pushMatrix();
+ translate(s.x, s.y, s.z);
+ rotate(s.ry / 180. * PI, 0, -1, 0);
+ translate(Speaker.EDGE_WIDTH/2., Speaker.EDGE_HEIGHT/2., Speaker.EDGE_DEPTH/2.);
+ box(Speaker.EDGE_WIDTH-20*in, Speaker.EDGE_HEIGHT-20*in, Speaker.EDGE_DEPTH-20*in);
+ popMatrix();
+
+
+ noStroke();
+ fill(#393939);
+ drawBox(s.x+in, s.y+in, s.z+in, 0, s.ry, 0, Speaker.EDGE_WIDTH-in*2, Speaker.EDGE_HEIGHT-in*2, Speaker.EDGE_DEPTH-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);
TowerMapping[] mapping = new TowerMapping[] {
- new TowerMapping(0, 0, 0, new float[][] {
- {STACKED_RELATIVE, 0, 0},
- {STACKED_RELATIVE, 5, -10, 20},
- {STACKED_RELATIVE, 0, -6},
- {STACKED_RELATIVE, -5, -2, -20},
- }),
-
- new TowerMapping(Cube.EDGE_WIDTH + 2, 0, 0, new float[][] {
- {STACKED_RELATIVE, 0, 0},
- {STACKED_RELATIVE, 0, 5, 10},
- {STACKED_RELATIVE, 0, 2, 20},
- {STACKED_RELATIVE, 0, 0, 30},
- }),
+ // Front left cubes
+// new TowerMapping(0, 0, 0, new float[][] {
+// {STACKED_RELATIVE, 0, 0},
+// {STACKED_RELATIVE, 5, -10, 20},
+// {STACKED_RELATIVE, 0, -6},
+// {STACKED_RELATIVE, -5, -2, -20},
+// }),
+//
+// new TowerMapping(Cube.EDGE_WIDTH + 2, 0, 0, new float[][] {
+// {STACKED_RELATIVE, 0, 0},
+// {STACKED_RELATIVE, 0, 5, 10},
+// {STACKED_RELATIVE, 0, 2, 20},
+// {STACKED_RELATIVE, 0, 0, 30},
+// }),
// Back Cubes behind DJ platform (in order of increasing x)
new TowerMapping(50, 5, BASS_DEPTH, new float[][] {
{STACKED_RELATIVE, 0, 2, 20},
}),
- new TowerMapping(200, 0, 0, new float[][] {
- {STACKED_RELATIVE, 0, 10},
- {STACKED_RELATIVE, 5, 0, 20},
- {STACKED_RELATIVE, 0, 4},
- {STACKED_RELATIVE, -5, 8, -20},
- {STACKED_RELATIVE, 0, 3},
- }),
+// new TowerMapping(200, 0, 0, new float[][] {
+// {STACKED_RELATIVE, 0, 10},
+// {STACKED_RELATIVE, 5, 0, 20},
+// {STACKED_RELATIVE, 0, 4},
+// {STACKED_RELATIVE, -5, 8, -20},
+// {STACKED_RELATIVE, 0, 3},
+// }),
- new TowerMapping(0, 0, Cube.EDGE_HEIGHT + 10, new float[][] {
- {STACKED_RELATIVE, 10, 0, 40},
- {STACKED_RELATIVE, 3, -2, 20},
- {STACKED_RELATIVE, 0, 0, 40},
- {STACKED_RELATIVE, 0, 0, 60},
- {STACKED_RELATIVE, 0, 0, 40},
- }),
+// new TowerMapping(0, 0, Cube.EDGE_HEIGHT + 10, new float[][] {
+// {STACKED_RELATIVE, 10, 0, 40},
+// {STACKED_RELATIVE, 3, -2, 20},
+// {STACKED_RELATIVE, 0, 0, 40},
+// {STACKED_RELATIVE, 0, 0, 60},
+// {STACKED_RELATIVE, 0, 0, 40},
+// }),
new TowerMapping(20, 0, 2*Cube.EDGE_HEIGHT + 18, new float[][] {
{STACKED_RELATIVE, 0, 0, 40},
{STACKED_RELATIVE, 12, 0, 40},
}),
- new TowerMapping(210, 0, Cube.EDGE_HEIGHT + 15, new float[][] {
- {STACKED_RELATIVE, 0, 0, 40},
- {STACKED_RELATIVE, 5, 0, 20},
- {STACKED_RELATIVE, 8, 0, 40},
- {STACKED_RELATIVE, 3, 0, 60},
- {STACKED_RELATIVE, 0, 0, 40},
- }),
+// new TowerMapping(210, 0, Cube.EDGE_HEIGHT + 15, new float[][] {
+// {STACKED_RELATIVE, 0, 0, 40},
+// {STACKED_RELATIVE, 5, 0, 20},
+// {STACKED_RELATIVE, 8, 0, 40},
+// {STACKED_RELATIVE, 3, 0, 60},
+// {STACKED_RELATIVE, 0, 0, 40},
+// }),
new TowerMapping(210, 0, 2*Cube.EDGE_HEIGHT + 25, new float[][] {
{STACKED_RELATIVE, 0, 0, 40},
}
BassBox bassBox = new BassBox(56, 0, 2);
-
- return new Model(towerList, cubes, bassBox);
+
+ List<Speaker> speakers = new ArrayList<Speaker>();
+ speakers.add(new Speaker(0, 6, 0, 15));
+ speakers.add(new Speaker(TRAILER_WIDTH - Speaker.EDGE_WIDTH, 6, 6, -15));
+
+ return new Model(towerList, cubes, bassBox, speakers);
}
public PandaMapping[] buildPandaList() {
{ 37, 38, 39, 40 }, // ch10
{ 41, 42, 43, 44 }, // ch11
{ 45, 46, 47, 48 }, // ch12
- { 49, 50, 51, 52 }, // ch13
- { 53, 54, 55, 56 }, // ch14
- { 57, 58, 59, 60 }, // ch15
- { 61, 62, 63, 64 }, // ch16
+ { 33, 34, 35, 36 }, // ch13
+ { 37, 38, 39, 40 }, // ch14
+ { 41, 42, 43, 44 }, // ch15
+ { 45, 46, 47, 48 }, // ch16
}),
};