X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=TestPatterns.pde;h=c4432ab0baa1d7cc976b5fcddecfcb43cce67529;hb=749eb72c6abd63e1f1d1253646e52b3c08954fd4;hp=87d9ee2aab1e6142c9d36aece58b96d100724767;hpb=a797d019e913f56021fcc5d2f9ff994e3e1db08b;p=SugarCubes.git diff --git a/TestPatterns.pde b/TestPatterns.pde index 87d9ee2..c4432ab 100644 --- a/TestPatterns.pde +++ b/TestPatterns.pde @@ -112,7 +112,7 @@ class TestProjectionPattern extends SCPattern { projection.reset(model) // Translate so the center of the car is the origin, offset by yPos - .translateCenter(0, yPos.getValuef(), 0) + .translateCenter(model, 0, yPos.getValuef(), 0) // Rotate around the origin (now the center of the car) about an X-vector .rotate(angle.getValuef(), 1, 0, 0) @@ -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;