package prefuse.action.animate; import prefuse.action.ItemAction; import prefuse.visual.VisualItem; /** * Animator that linearly interpolates between two positions. This * is useful for performing animated transitions. * * @author <a href="http://jheer.org">jeffrey heer</a> */ public class LocationAnimator extends ItemAction { /** * Create a new LocationAnimator that processes all data groups. */ public LocationAnimator() { super(); } /** * Create a new LocationAnimator that processes the specified group. * @param group the data group to process. */ public LocationAnimator(String group) { super(group); } /** * @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)); } } // end of class LocationAnimator