From: Ben Morrow Date: Sun, 18 Aug 2013 04:12:59 +0000 (-0700) Subject: Merge branch 'master' of github.com:sugarcubes/SugarCubes into BenMorrow X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=63642201449513f71cc4ad77c610f4990c83b8a0;hp=03c7b35a17451760218782f3bc93edc017e29adc;p=SugarCubes.git Merge branch 'master' of github.com:sugarcubes/SugarCubes into BenMorrow --- diff --git a/BenMorrow.pde b/BenMorrow.pde new file mode 100644 index 0000000..911f886 --- /dev/null +++ b/BenMorrow.pde @@ -0,0 +1,115 @@ +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); + addGraphic("myReds",new RedsGraphic(100)); + int[] dots = {0,128,0,128,0,128,0,128,0,128,0,128}; + addGraphic("myOtherColors",new ColorDotsGraphic(dots)); + + getGraphicByName("myOtherColors").position=100; + } + int counter=0; + public void run(int deltaMs) + { + clearALL(); + super.run(deltaMs); + + if(counter % 3 ==0) + { + Graphic reds = getGraphicByName("myReds"); + Graphic others = getGraphicByName("myOtherColors"); + reds.position = reds.position + 1 % 19000; + others.position = others.position + 10 % 19000; + } + } + public void clearALL() + { + for(Point p : model.points) + { + colors[p.index] = 0; + } + } + + +} + +class GranimTestPattern2 extends GranimPattern +{ + GranimTestPattern2(GLucose glucose) + { + super(glucose); + /*for(int i = 0;i < 100; i++) + { + Graphic g = addGraphic("myReds_"+i,new RedsGraphic(Math.round(Math.random() * 100))); + + }*/ + Graphic g = addGraphic("myRandoms",new RandomsGranim(50)); + g.position = 200; + + } + int counter=0; + float count=0; + public void run(int deltaMs) + { + clearALL(); + super.run(deltaMs); + Graphic randomsGraphic = getGraphicByName("myRandoms"); + randomsGraphic.position = Math.round(sin(count)*1000)+5000; + count+= 0.0005; + } + public void clearALL() + { + for(Point p : model.points) + { + colors[p.index] = 0; + } + } + + +} \ No newline at end of file diff --git a/GranimPattern.pde b/GranimPattern.pde new file mode 100644 index 0000000..c2f9fc0 --- /dev/null +++ b/GranimPattern.pde @@ -0,0 +1,220 @@ +import java.util.LinkedHashMap; +class Graphic +{ + public int position = 0; + public ArrayList graphicBuffer; + Graphic() + { + graphicBuffer = new ArrayList(); + } + public int width() + { + return graphicBuffer.size(); + } + + +}; +class Granim extends Graphic +{ + LinkedHashMap displayList; + + Granim() + { + displayList = new LinkedHashMap(); + } + public Graphic addGraphic(String name, Graphic g) + { + graphicBuffer.clear(); + while(width()< g.position+1) + { + graphicBuffer.add(color(0,0,0)); + } + drawAll(); + displayList.put(name , g); + return g; + } + + public Graphic getGraphicByName(String name) + { + return displayList.get(name); + } + + public void update() + { + + for(Graphic g : displayList.values()) + { + if(g instanceof Granim) + { + ((Granim) g).update(); + } + } + drawAll(); + + } + public void drawOne(Graphic g) + { + graphicBuffer.addAll(g.position,g.graphicBuffer); + } + public void drawAll() + { + graphicBuffer.clear(); + for(Graphic g : displayList.values()) + { + while(width()< g.position + g.width()) + { + graphicBuffer.add(color(0,0,0)); + } + drawOne(g); + } + } +}; +class GranimPattern extends SCPattern +{ + LinkedHashMap displayList; + + GranimPattern(GLucose glucose) + { + super(glucose); + displayList = new LinkedHashMap(); + } + + public Graphic addGraphic(String name, Graphic g) + { + displayList.put(name,g); + return g; + } + + public Graphic getGraphicByName(String name) + { + return displayList.get(name); + } + + public void run(int deltaMs) + { + drawToPointList(); + } + + public void drawToPointList() + { + for(Graphic g : displayList.values()) + { + if(g instanceof Granim) + { + ((Granim) g).update(); + } + List drawList = model.points.subList(g.position, g.position + g.width()); + + for (int i=0; i < drawList.size(); i++) + { + colors[drawList.get(i).index] = (int) g.graphicBuffer.get(i); + } + } + } + +}; + +class RedsGraphic extends Graphic +{ + RedsGraphic() + { + super(); + drawit(10); + } + RedsGraphic(int len) + { + super(); + drawit(len); + + } + void drawit(int len) + { + for(int i = 0; i < len ;i++) + { + graphicBuffer.add(color(0,255,255)); + } + } +}; + +class RedsGranim extends Granim +{ + RedsGranim() + { + super(); + addGraphic("myreds", new RedsGraphic(10)); + } + RedsGranim(int len) + { + super(); + addGraphic("myreds", new RedsGraphic(len)); + } + public float count = 0.0; + public void update() + { + Graphic g=getGraphicByName("myreds"); + g.position = Math.round(sin(count)*20)+100; + count+= 0.1; + if(count>Math.PI*2) + { + count=0; + } + super.update(); + } + +}; + +class RandomsGranim extends Granim +{ + private int _len =0 ; + RandomsGranim() + { + super(); + _len =100; + addGraphic("myrandoms", makeGraphic(_len)); + } + RandomsGranim(int len) + { + super(); + _len=len; + addGraphic("myrandoms", makeGraphic(len)); + } + public Graphic makeGraphic(int len) + { + int[] colors= new int[len]; + for(int i =0;i