class Sandbox extends SCPattern { int c=0; int prevC=0; int huerange=255; int pointrange= model.points.size(); int striprange= model.strips.size(); int facerange= model.faces.size(); int cuberange = model.cubes.size(); int towerrange = model.towers.size(); int counter=0; Sandbox(GLucose glucose) { super(glucose); println("points "+pointrange); println("strips "+striprange); println("faces "+facerange); println("cubes "+cuberange); println("towers "+towerrange); } public void run(int deltaMs) { if(counter % 10 ==0) { doDraw(c,0); c = (c + 1) % towerrange; long col = color(Math.round(Math.random()*255),255,255) ; doDraw(c,col); } counter++; } public void doDraw(int c,long col) { Tower t= model.towers.get((int) c); for(Point p : t.points) { colors[p.index] = (int) col; } } }; class GranimTestPattern extends GranimPattern { GranimTestPattern(GLucose glucose) { super(glucose); RedThreeGraphic myReds = new RedThreeGraphic(); addGraphic("myThreeReds",myReds); } int counter=0; public void run(int deltaMs) { super.run(deltaMs); if(counter % 3 ==0) { getGraphicByName("myThreeReds").position++; } } }