New test pattern and make cubes block out back lights that aren't actually visible...
authorMark Slee <mcslee@Mark-Slees-MacBook-Pro.local>
Wed, 7 Aug 2013 06:57:43 +0000 (23:57 -0700)
committerMark Slee <mcslee@Mark-Slees-MacBook-Pro.local>
Wed, 7 Aug 2013 06:57:43 +0000 (23:57 -0700)
SugarCubes.pde
TestPatterns.pde
_Internals.pde

index 5504001bf88d3834f2d82b3b40f12340c35b00cf..801e2930f0f66bd01619db6414726f677bf28726 100644 (file)
@@ -35,7 +35,8 @@ LXPattern[] patterns(GLucose glucose) {
     new CubeEQ(glucose),
     new PianoKeyPattern(glucose),
     
-    // Basic test patterns for reference, not art
+    // Basic test patterns for reference, not art    
+//    new TestCubePattern(glucose),
 //    new TestHuePattern(glucose),
 //    new TestXPattern(glucose),
 //    new TestYPattern(glucose),
index d7d56254ddaa8897390ad16ec88b0d350f139ddd..c4432ab0baa1d7cc976b5fcddecfcb43cce67529 100644 (file)
@@ -134,6 +134,31 @@ class TestProjectionPattern extends SCPattern {
   } 
 }
 
+class TestCubePattern extends SCPattern {
+  
+  private int POINTS_PER_CUBE = Cube.FACES_PER_CUBE * Face.STRIPS_PER_FACE * Strip.POINTS_PER_STRIP;
+  private SawLFO index = new SawLFO(0, POINTS_PER_CUBE, POINTS_PER_CUBE*60);
+  
+  TestCubePattern(GLucose glucose) {
+    super(glucose);
+    addModulator(index).start();
+  }
+  
+  public void run(int deltaMs) {
+    for (Cube c : model.cubes) {
+      int i = 0;
+      for (Point p : c.points) {
+        colors[p.index] = color(
+          lx.getBaseHuef(),
+          100,
+          max(0, 100 - 80.*abs(i - index.getValuef()))
+        );
+        ++i;
+      }
+    }
+  }
+}
+
 class MappingTool extends SCPattern {
     
   private int cubeIndex = 0;
index 7dcf1757e8e9b138969df17d62dfe44fe5e5123f..8b9163d5068b402f9b28d02f534b3e4e3614ceec 100644 (file)
@@ -220,7 +220,8 @@ void draw() {
 }
 
 void drawCube(Cube c) {
-  drawBox(c.x, c.y, c.z, c.rx, c.ry, c.rz, Cube.EDGE_WIDTH, Cube.EDGE_HEIGHT, Cube.EDGE_WIDTH, Cube.CHANNEL_WIDTH);
+  float in = .15;
+  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 drawBox(float x, float y, float z, float rx, float ry, float rz, float xd, float yd, float zd, float sw) {