Class SpringLayoutAlgorithm<V,E>
- java.lang.Object
-
- org.jungrapht.visualization.layout.algorithms.AbstractLayoutAlgorithm<V>
-
- org.jungrapht.visualization.layout.algorithms.AbstractIterativeLayoutAlgorithm<V>
-
- org.jungrapht.visualization.layout.algorithms.SpringLayoutAlgorithm<V,E>
-
- All Implemented Interfaces:
IterativeLayoutAlgorithm<V>,LayoutAlgorithm<V>,AfterRunnable,ExecutorConsumer,IterativeContext,Threaded
- Direct Known Subclasses:
DAGLayoutAlgorithm
public class SpringLayoutAlgorithm<V,E> extends AbstractIterativeLayoutAlgorithm<V> implements IterativeContext
The SpringLayout package represents a visualization of a set of vertices. The SpringLayout, which is initialized with a Graph, assigns X/Y locations to each vertex. When calledstep(), the SpringLayout moves the visualization forward one step.- Author:
- Danyel Fisher, Joshua O'Madadhain, Tom Nelson
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSpringLayoutAlgorithm.Builder<V,E,T extends SpringLayoutAlgorithm<V,E>,B extends SpringLayoutAlgorithm.Builder<V,E,T,B>>static classSpringLayoutAlgorithm.SpringVertexData-
Nested classes/interfaces inherited from interface org.jungrapht.visualization.layout.algorithms.LayoutAlgorithm
LayoutAlgorithm.NoOp<V>
-
Nested classes/interfaces inherited from interface org.jungrapht.visualization.layout.algorithms.util.Threaded
Threaded.NoOp
-
-
Field Summary
Fields Modifier and Type Field Description protected doubleforce_multiplierprotected Function<E,Integer>lengthFunctionprotected intrepulsion_range_sqprotected StandardSpringRepulsionrepulsionContractprotected StandardSpringRepulsion.BuilderrepulsionContractBuilderprotected Map<V,SpringLayoutAlgorithm.SpringVertexData>springVertexDataprotected doublestretch-
Fields inherited from class org.jungrapht.visualization.layout.algorithms.AbstractIterativeLayoutAlgorithm
afterRunnable, cancelled, executor, layoutModel, preRelaxDurationMs, random, shouldPreRelax, threaded
-
Fields inherited from class org.jungrapht.visualization.layout.algorithms.AbstractLayoutAlgorithm
after
-
-
Constructor Summary
Constructors Modifier Constructor Description SpringLayoutAlgorithm()protectedSpringLayoutAlgorithm(SpringLayoutAlgorithm.Builder<V,E,?,?> builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <V,E>
SpringLayoutAlgorithm.Builder<V,E,?,?>builder()booleandone()doublegetForceMultiplier()intgetRepulsionRange()doublegetStretch()voidinitialize()protected voidmoveVertices()protected voidrelaxEdges()voidsetForceMultiplier(double force)voidsetRepulsionRange(int range)voidsetStretch(double stretch)voidstep()Advances one step.StringtoString()voidvisit(LayoutModel<V> layoutModel)Override to create the BarnesHutOctTree-
Methods inherited from class org.jungrapht.visualization.layout.algorithms.AbstractIterativeLayoutAlgorithm
cancel, getExecutor, isThreaded, preRelax, setExecutor, setRandomSeed, setThreaded
-
Methods inherited from class org.jungrapht.visualization.layout.algorithms.AbstractLayoutAlgorithm
computeAverageVertexDimension, computeLayoutExtent, expandToFill, runAfter, setAfter
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.jungrapht.visualization.layout.algorithms.util.AfterRunnable
runAfter, setAfter
-
Methods inherited from interface org.jungrapht.visualization.layout.algorithms.LayoutAlgorithm
constrained
-
-
-
-
Field Detail
-
stretch
protected double stretch
-
repulsion_range_sq
protected int repulsion_range_sq
-
force_multiplier
protected double force_multiplier
-
springVertexData
protected Map<V,SpringLayoutAlgorithm.SpringVertexData> springVertexData
-
repulsionContractBuilder
protected StandardSpringRepulsion.Builder repulsionContractBuilder
-
repulsionContract
protected StandardSpringRepulsion repulsionContract
-
-
Constructor Detail
-
SpringLayoutAlgorithm
public SpringLayoutAlgorithm()
-
SpringLayoutAlgorithm
protected SpringLayoutAlgorithm(SpringLayoutAlgorithm.Builder<V,E,?,?> builder)
-
-
Method Detail
-
builder
public static <V,E> SpringLayoutAlgorithm.Builder<V,E,?,?> builder()
-
visit
public void visit(LayoutModel<V> layoutModel)
Override to create the BarnesHutOctTree- Specified by:
visitin interfaceLayoutAlgorithm<V>- Overrides:
visitin classAbstractIterativeLayoutAlgorithm<V>- Parameters:
layoutModel-
-
getStretch
public double getStretch()
- Returns:
- the current value for the stretch parameter
-
setStretch
public void setStretch(double stretch)
-
getRepulsionRange
public int getRepulsionRange()
-
setRepulsionRange
public void setRepulsionRange(int range)
-
getForceMultiplier
public double getForceMultiplier()
-
setForceMultiplier
public void setForceMultiplier(double force)
-
initialize
public void initialize()
-
step
public void step()
Description copied from interface:IterativeContextAdvances one step.- Specified by:
stepin interfaceIterativeContext
-
relaxEdges
protected void relaxEdges()
-
moveVertices
protected void moveVertices()
-
done
public boolean done()
- Specified by:
donein interfaceIterativeContext- Returns:
- false
-
-