X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=TestPatterns.pde;h=38ea2296200d31e7f13e370a7d1f3acc35a7df7d;hb=f5540dabdde4c72916878511bdbd9c4aae6d54c7;hp=733494541ec28d1c5e6fce48ea7612007c2b1530;hpb=1685dc840e4748f11a9e6690b9ddce4a6e8b7084;p=SugarCubes.git diff --git a/TestPatterns.pde b/TestPatterns.pde index 7334945..38ea229 100644 --- a/TestPatterns.pde +++ b/TestPatterns.pde @@ -74,6 +74,33 @@ class TestZPattern extends SCPattern { } } +/** + * This shows how to iterate over towers, enumerated in the model. + */ +class TestTowerPattern extends SCPattern { + private final SawLFO towerIndex = new SawLFO(0, model.towers.size(), 1000*model.towers.size()); + + public TestTowerPattern(GLucose glucose) { + super(glucose); + addModulator(towerIndex).trigger(); + } + + public void run(int deltaMs) { + int ti = 0; + for (Tower t : model.towers) { + for (Point p : t.points) { + colors[p.index] = color( + lx.getBaseHuef(), + 100, + max(0, 100 - 80*LXUtils.wrapdistf(ti, towerIndex.getValuef(), model.towers.size())) + ); + } + ++ti; + } + } + +} + /** * This is a demonstration of how to use the projection library. A projection * creates a mutation of the coordinates of all the points in the model, creating