1 package prefuse.action.layout; 2 3 import java.awt.geom.Rectangle2D ; 4 import java.util.Iterator ; 5 import java.util.Random ; 6 7 import prefuse.visual.VisualItem; 8 9 10 15 public class RandomLayout extends Layout { 16 17 private Random r = new Random (12345678L); 18 19 22 public RandomLayout() { 23 super(); 24 } 25 26 30 public RandomLayout(String group) { 31 super(group); 32 } 33 34 38 public void setRandomSeed(long seed) { 39 r.setSeed(seed); 40 } 41 42 45 public void run(double frac) { 46 Rectangle2D b = getLayoutBounds(); 47 double x, y; 48 double w = b.getWidth(); 49 double h = b.getHeight(); 50 Iterator iter = getVisualization().visibleItems(m_group); 51 while ( iter.hasNext() ) { 52 VisualItem item = (VisualItem)iter.next(); 53 x = (int)(b.getX() + r.nextDouble()*w); 54 y = (int)(b.getY() + r.nextDouble()*h); 55 setX(item,null,x); 56 setY(item,null,y); 57 } 58 } 59 60 } | Popular Tags |