- for (Speaker speaker : glucose.model.speakers) {
- drawSpeaker(speaker);
- }
- for (Cube c : glucose.model.cubes) {
- drawCube(c);
- }
-
- noFill();
- strokeWeight(2);
- beginShape(POINTS);
- for (Point p : glucose.model.points) {
- stroke(simulationColors[p.index]);
- vertex(p.x, p.y, p.z);
- }
- endShape();
-}
-
-void drawBassBox(BassBox b, boolean hasSub) {
-
- float in = .15;
-
- if (hasSub) {
- 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(b.x+(Cube.CHANNEL_WIDTH-in)/2., b.y + BassBox.EDGE_HEIGHT-in, b.z + BassBox.EDGE_DEPTH/2.);
- float lastOffset = 0;
- for (float offset : BoothFloor.STRIP_OFFSETS) {
- translate(offset - lastOffset, 0, 0);
- box(Cube.CHANNEL_WIDTH-in, 0, BassBox.EDGE_DEPTH - 2*in);
- lastOffset = offset;
- }
- popMatrix();
-
- pushMatrix();
- translate(b.x + (Cube.CHANNEL_WIDTH-in)/2., b.y + BassBox.EDGE_HEIGHT/2., b.z + in);
- for (int j = 0; j < 2; ++j) {
- pushMatrix();
- for (int i = 0; i < BassBox.NUM_FRONT_STRUTS; ++i) {
- translate(BassBox.FRONT_STRUT_SPACING, 0, 0);
- box(Cube.CHANNEL_WIDTH-in, BassBox.EDGE_HEIGHT - in*2, 0);
- }
- popMatrix();
- translate(0, 0, BassBox.EDGE_DEPTH - 2*in);
- }
- popMatrix();
-
- pushMatrix();
- translate(b.x + in, b.y + BassBox.EDGE_HEIGHT/2., b.z + BassBox.SIDE_STRUT_SPACING + (Cube.CHANNEL_WIDTH-in)/2.);
- box(0, BassBox.EDGE_HEIGHT - in*2, Cube.CHANNEL_WIDTH-in);
- 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;