/** * Reset the force simulation state for all nodes processed * by this layout. */ public void reset() { Iterator iter = m_vis.visibleItems(m_nodeGroup); while ( iter.hasNext() ) { VisualItem item = (VisualItem)iter.next(); ForceItem fitem = (ForceItem)item.get(FORCEITEM); if ( fitem != null ) { fitem.location[0] = (float)item.getEndX(); fitem.location[1] = (float)item.getEndY(); fitem.force[0] = fitem.force[1] = 0; fitem.velocity[0] = fitem.velocity[1] = 0; } } m_lasttime = -1L; }
/** * @see prefuse.action.ItemAction#process(prefuse.visual.VisualItem, double) */ public void process(VisualItem item, double frac) { double sx = item.getStartX(); double sy = item.getStartY(); item.setX(sx + frac*(item.getEndX()-sx)); item.setY(sy + frac*(item.getEndY()-sy)); }
fitem.mass = getMassValue(item); double x = item.getEndX(); double y = item.getEndY(); fitem.location[0] = (Double.isNaN(x) ? startX : (float)x); fitem.location[1] = (Double.isNaN(y) ? startY : (float)y);
item.setY(item.getEndY()); item.setSize(item.getEndSize());
/** * @see prefuse.action.ItemAction#process(prefuse.visual.VisualItem, double) */ public void process(VisualItem item, double frac) { double v = item.getStartX(); item.setX(v + frac*(item.getEndX()-v)); v = item.getStartY(); item.setY(v + frac*(item.getEndY()-v)); v = item.getDouble(VisualItem.STARTX2); v = v + frac*(item.getDouble(VisualItem.ENDX2)-v); item.setDouble(VisualItem.X2, v); v = item.getDouble(VisualItem.STARTY2); v = v + frac*(item.getDouble(VisualItem.ENDY2)-v); item.setDouble(VisualItem.Y2, v); int c = ColorLib.interp(item.getStartStrokeColor(), item.getEndStrokeColor(), frac); item.setStrokeColor(c); int tc = ColorLib.interp(item.getStartTextColor(), item.getEndTextColor(), frac); item.setTextColor(tc); int fc = ColorLib.interp(item.getStartFillColor(), item.getEndFillColor(), frac); item.setFillColor(fc); }