From e89eda9fd7c6319c6bf71b1ad6b2f5ce0024ebfa Mon Sep 17 00:00:00 2001 From: Mark Slee Date: Thu, 26 Sep 2013 17:31:48 -0700 Subject: [PATCH] Make yMin correct with unlit bassBox on model --- _Internals.pde | 39 ++++++++++++++++++++------------------- _Mappings.pde | 4 +++- code/GLucose.jar | Bin 24407 -> 24692 bytes 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/_Internals.pde b/_Internals.pde index 091bde4..c86ff96 100644 --- a/_Internals.pde +++ b/_Internals.pde @@ -217,10 +217,12 @@ void draw() { popMatrix(); noStroke(); -// drawBassBox(glucose.model.bassBox); -// for (Speaker s : glucose.model.speakers) { -// drawSpeaker(s); -// } + if (glucose.model.bassBox.exists) { + drawBassBox(glucose.model.bassBox, false); + } + for (Speaker speaker : glucose.model.speakers) { + drawSpeaker(speaker); + } for (Cube c : glucose.model.cubes) { drawCube(c); } @@ -228,13 +230,9 @@ void draw() { noFill(); strokeWeight(2); beginShape(POINTS); - // TODO(mcslee): restore when bassBox/speakers are right again - // for (Point p : glucose.model.points) { - for (Cube cube : glucose.model.cubes) { - for (Point p : cube.points) { - stroke(colors[p.index]); - vertex(p.fx, p.fy, p.fz); - } + for (Point p : glucose.model.points) { + stroke(colors[p.index]); + vertex(p.fx, p.fy, p.fz); } endShape(); @@ -264,15 +262,18 @@ void draw() { } } -void drawBassBox(BassBox b) { +void drawBassBox(BassBox b, boolean hasSub) { + 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(); + + 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); diff --git a/_Mappings.pde b/_Mappings.pde index 2c28b45..5daf703 100644 --- a/_Mappings.pde +++ b/_Mappings.pde @@ -255,7 +255,9 @@ public Model buildModel() { }; // The bass box! - BassBox bassBox = new BassBox(BBX, 0, BBZ); + 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 speakers = Arrays.asList(new Speaker[] { diff --git a/code/GLucose.jar b/code/GLucose.jar index 41841a9c171bf826ce9e4df2584a3db5758a35f1..9e48133c23f3ede8fa2b3d5495549688d69f9582 100755 GIT binary patch delta 5845 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 -- 2.34.1