repositories
/
SugarCubes.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of https://github.com/sugarcubes/SugarCubes into alexgreen
[SugarCubes.git]
/
GranimPattern.pde
diff --git
a/GranimPattern.pde
b/GranimPattern.pde
index c2f9fc0d0aa4d2c043b41526c9959da50d9e141c..450c17efb47fbd788f6d738c7b071a72d2221907 100644
(file)
--- a/
GranimPattern.pde
+++ b/
GranimPattern.pde
@@
-1,6
+1,7
@@
import java.util.LinkedHashMap;
class Graphic
{
import java.util.LinkedHashMap;
class Graphic
{
+ public boolean changed = false;
public int position = 0;
public ArrayList<Integer> graphicBuffer;
Graphic()
public int position = 0;
public ArrayList<Integer> graphicBuffer;
Graphic()
@@
-16,21
+17,21
@@
class Graphic
};
class Granim extends Graphic
{
};
class Granim extends Graphic
{
-
Linked
HashMap<String,Graphic> displayList;
+ HashMap<String,Graphic> displayList;
Granim()
{
Granim()
{
- displayList = new
Linked
HashMap<String,Graphic>();
+ displayList = new HashMap<String,Graphic>();
}
public Graphic addGraphic(String name, Graphic g)
{
}
public Graphic addGraphic(String name, Graphic g)
{
- graphicBuffer.clear();
while(width()< g.position+1)
{
while(width()< g.position+1)
{
- graphicBuffer.add(
color
(0,0,0));
+ graphicBuffer.add(
lx.hsb
(0,0,0));
}
drawAll();
displayList.put(name , g);
}
drawAll();
displayList.put(name , g);
+ changed =true;
return g;
}
return g;
}
@@
-41,15
+42,29
@@
class Granim extends Graphic
public void update()
{
public void update()
{
-
+
for(Graphic g : displayList.values())
{
if(g instanceof Granim)
{
((Granim) g).update();
for(Graphic g : displayList.values())
{
if(g instanceof Granim)
{
((Granim) g).update();
+
+ }
+ changed = changed || g.changed;
+ if(changed)
+ {
+ while(width()< g.position + g.width())
+ {
+ graphicBuffer.add(lx.hsb(0,0,0));
+ }
+ if(g.changed)
+ {
+ drawOne(g);
+ g.changed =false;
+ }
}
}
}
}
-
drawAll()
;
+
changed = false
;
}
public void drawOne(Graphic g)
}
public void drawOne(Graphic g)
@@
-58,25
+73,16
@@
class Granim extends Graphic
}
public void drawAll()
{
}
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
{
}
};
class GranimPattern extends SCPattern
{
-
Linked
HashMap<String,Graphic> displayList;
+ HashMap<String,Graphic> displayList;
GranimPattern(GLucose glucose)
{
super(glucose);
GranimPattern(GLucose glucose)
{
super(glucose);
- displayList = new
Linked
HashMap<String,Graphic>();
+ displayList = new HashMap<String,Graphic>();
}
public Graphic addGraphic(String name, Graphic g)
}
public Graphic addGraphic(String name, Graphic g)
@@
-90,11
+96,11
@@
class GranimPattern extends SCPattern
return displayList.get(name);
}
return displayList.get(name);
}
- public void run(
int
deltaMs)
+ public void run(
double
deltaMs)
{
drawToPointList();
}
{
drawToPointList();
}
-
+ private Integer[] gbuffer;
public void drawToPointList()
{
for(Graphic g : displayList.values())
public void drawToPointList()
{
for(Graphic g : displayList.values())
@@
-103,12
+109,16
@@
class GranimPattern extends SCPattern
{
((Granim) g).update();
}
{
((Granim) g).update();
}
- List<Point> drawList = model.points.subList(g.position, g.position + g.width());
-
+ List<Point> drawList = model.points.subList(Math.min(g.position,colors.length-1), Math.min(g.position + g.width(),colors.length-1));
+ //println("drawlistsize "+drawList.size());
+
+ gbuffer = g.graphicBuffer.toArray(new Integer[0]);
+
for (int i=0; i < drawList.size(); i++)
{
for (int i=0; i < drawList.size(); i++)
{
- colors[drawList.get(i).index] =
(int) g.graphicBuffer.get(i)
;
+ colors[drawList.get(i).index] =
gbuffer[i]
;
}
}
+ g.changed = false;
}
}
}
}
@@
-131,7
+141,7
@@
class RedsGraphic extends Graphic
{
for(int i = 0; i < len ;i++)
{
{
for(int i = 0; i < len ;i++)
{
- graphicBuffer.add(
color
(0,255,255));
+ graphicBuffer.add(
lx.hsb
(0,255,255));
}
}
};
}
}
};
@@
-178,30
+188,35
@@
class RandomsGranim extends Granim
_len=len;
addGraphic("myrandoms", makeGraphic(len));
}
_len=len;
addGraphic("myrandoms", makeGraphic(len));
}
+ int colorLid=0;
public Graphic makeGraphic(int len)
{
public Graphic makeGraphic(int len)
{
+
int[] colors= new int[len];
for(int i =0;i<len;i++)
{
int[] colors= new int[len];
for(int i =0;i<len;i++)
{
- colors[i]=(int) Math.round(Math.random()*255);
+ colors[i]=(int) Math.round(Math.random()*80)+colorLid;
+
}
}
+ colorLid+=4;
return new ColorDotsGraphic(colors);
}
private int count =1;
private int instanceCount =0;
public void update()
{
return new ColorDotsGraphic(colors);
}
private int count =1;
private int instanceCount =0;
public void update()
{
- super.update();
- if(
count % 5
0==0)
+
+ if(
instanceCount<90 && count % 2
0==0)
{
instanceCount++;
Graphic h=addGraphic("myrandoms_"+instanceCount, makeGraphic(_len));
h.position = instanceCount*(_len+100);
{
instanceCount++;
Graphic h=addGraphic("myrandoms_"+instanceCount, makeGraphic(_len));
h.position = instanceCount*(_len+100);
- println("one more " + instanceCount+" at "+h.position);
+
//
println("one more " + instanceCount+" at "+h.position);
count=0;
count=0;
+ changed = true;
}
count++;
}
count++;
-
+ super.update();
}
};
}
};
@@
-214,7
+229,8
@@
class ColorDotsGraphic extends Graphic
super();
for (int colorVal : colorSequence)
{
super();
for (int colorVal : colorSequence)
{
- graphicBuffer.add(
color
(colorVal, 255, 255));
+ graphicBuffer.add(
lx.hsb
(colorVal, 255, 255));
}
}
+ changed = true;
}
};
}
};