public void run() { int stepAfterStabilization = 0; do { pumpPipe.pump(); layout.compute(); if (layout.getStabilization() > layout.getStabilizationLimit()) stepAfterStabilization++; else stepAfterStabilization = 0; nap(80); if (stepAfterStabilization > layoutStepAfterStabilization) loop = false; } while (loop); } }
/** * Set the stabilization limit of the layout used to compute coordinates of * nodes. See * {@link org.graphstream.ui.layout.Layout#setStabilizationLimit(double)} * for more informations about this limit. * * @param limit */ public void setLayoutStabilizationLimit(double limit) { if (layout == null) throw new NullPointerException("did you enable layout ?"); layout.setStabilizationLimit(limit); }
public void stabilizeLayout(double limit) { if (layout != null) { while (layout.getStabilization() < limit) layout.compute(); } }
/** * Compute coordinates of nodes using a layout algorithm. * * @param g * the graph * @param layout * layout algorithm to use for computing coordinates * @param stab * stabilization limit */ public static void computeLayout(Graph g, Layout layout, double stab) { GraphReplay r = new GraphReplay(g.getId()); stab = Math.min(stab, 1); layout.addAttributeSink(g); r.addSink(layout); r.replay(g); r.removeSink(layout); layout.shake(); layout.compute(); do layout.compute(); while (layout.getStabilization() < stab); layout.removeAttributeSink(g); }
@Override public void run() { String layoutName = layout.getLayoutAlgorithmName(); while (loop) { double limit = layout.getStabilizationLimit(); pumpPipe.pump(); if (limit > 0) { if (layout.getStabilization() > limit) { nap(longNap); } else { layout.compute(); nap(shortNap); } } else { layout.compute(); nap(shortNap); } } logger.info(String.format("Layout '%s' process stopped.", layoutName)); }
layout.removeAttributeSink(gg); layout = null; break; layout = Layouts.newLayoutAlgorithm(); gg.addSink(layout); layout.addAttributeSink(gg); break; default:
case COMPUTED_ONCE_AT_NEW_IMAGE: if (layout != null) layout.compute(); break; case COMPUTED_FULLY_AT_NEW_IMAGE: stabilizeLayout(layout.getStabilizationLimit()); break; default:
protected void clearGG() { gg.clear(); if (styleSheet != null) gg.setAttribute("ui.stylesheet", styleSheet); if (layout != null) layout.clear(); }
/** * Compute coordinates of nodes using a layout algorithm. * * @param g * the graph * @param layout * layout algorithm to use for computing coordinates * @param stab * stabilization limit */ public static void computeLayout(Graph g, Layout layout, double stab) { GraphReplay r = new GraphReplay(g.getId()); stab = Math.min(stab, 1); layout.addAttributeSink(g); r.addSink(layout); r.replay(g); r.removeSink(layout); layout.shake(); layout.compute(); do layout.compute(); while (layout.getStabilization() < stab); layout.removeAttributeSink(g); }
@Override public void run() { String layoutName = layout.getLayoutAlgorithmName(); while (loop) { double limit = layout.getStabilizationLimit(); pumpPipe.pump(); if (limit > 0) { if (layout.getStabilization() > limit) { nap(longNap); } else { layout.compute(); nap(shortNap); } } else { layout.compute(); nap(shortNap); } } logger.info(String.format("Layout '%s' process stopped.", layoutName)); }
public void stabilizeLayout(double limit) { if (layout != null) { while (layout.getStabilization() < limit) layout.compute(); } }
layout.removeAttributeSink(gg); layout = null; break; layout = Layouts.newLayoutAlgorithm(); gg.addSink(layout); layout.addAttributeSink(gg); break; default:
case COMPUTED_ONCE_AT_NEW_IMAGE: if (layout != null) layout.compute(); break; case COMPUTED_FULLY_AT_NEW_IMAGE: stabilizeLayout(layout.getStabilizationLimit()); break; default:
protected void clearGG() { gg.clear(); if (styleSheet != null) gg.setAttribute("ui.stylesheet", styleSheet); if (layout != null) layout.clear(); }
public void run() { int stepAfterStabilization = 0; do { pumpPipe.pump(); layout.compute(); if (layout.getStabilization() > layout.getStabilizationLimit()) stepAfterStabilization++; else stepAfterStabilization = 0; nap(80); if (stepAfterStabilization > layoutStepAfterStabilization) loop = false; } while (loop); } }
/** * Set the stabilization limit of the layout used to compute coordinates of * nodes. See * {@link org.graphstream.ui.layout.Layout#setStabilizationLimit(double)} * for more informations about this limit. * * @param limit */ public void setLayoutStabilizationLimit(double limit) { if (layout == null) throw new NullPointerException("did you enable layout ?"); layout.setStabilizationLimit(limit); }