1 package prefuse.action.filter; 2 3 import java.util.Iterator ; 4 5 import prefuse.Visualization; 6 import prefuse.action.GroupAction; 7 import prefuse.data.expression.OrPredicate; 8 import prefuse.data.expression.Predicate; 9 import prefuse.util.PrefuseLib; 10 import prefuse.visual.VisualItem; 11 import prefuse.visual.expression.VisiblePredicate; 12 13 19 public class VisibilityFilter extends GroupAction { 20 21 private Predicate m_filter; 22 private Predicate m_predicate; 23 24 28 public VisibilityFilter(Predicate p) { 29 setPredicate(p); 30 } 31 32 37 public VisibilityFilter(String group, Predicate p) { 38 super(group); 39 setPredicate(p); 40 } 41 42 48 public VisibilityFilter(Visualization vis, String group, Predicate p) { 49 super(vis, group); 50 setPredicate(p); 51 } 52 53 57 protected void setPredicate(Predicate p) { 58 m_predicate = p; 59 m_filter = new OrPredicate(p, VisiblePredicate.TRUE); 60 } 61 62 65 public void run(double frac) { 66 Iterator items = m_vis.items(m_group, m_filter); 67 while ( items.hasNext() ) { 68 VisualItem item = (VisualItem)items.next(); 69 PrefuseLib.updateVisible(item, m_predicate.getBoolean(item)); 70 } 71 } 72 73 } | Popular Tags |