public class FastScalableMDS extends AbstractLayout
Modifier and Type | Field and Description |
---|---|
protected double |
diameter
The diameter of the visible graph.
|
protected UnweightedShortestPath |
unweightedShortestPaths
Stores graph distances between vertices of the visible graph
|
changeSupport, vertex_locations
Constructor and Description |
---|
FastScalableMDS(Graph g) |
Modifier and Type | Method and Description |
---|---|
void |
advancePositions()
Implementors must override this method in order to create a Layout.
|
java.lang.String |
getStatus()
Returns the current status of the sytem, or null if there
is no particular status to report.
|
boolean |
incrementsAreDone()
Returns true once the current iteration has passed the maximum count.
|
protected void |
initialize_local_vertex(Vertex v)
Initializes the local information on a single vertex.
|
protected void |
initialize_local()
Initializes all local information, and is called immediately within the
initialize() process.
|
protected void |
initializeLocations()
This method calls initialize_local_vertex for each vertex,
and also adds initial coordinate information for each vertex.
|
boolean |
isIncremental()
This one is an incremental visualization.
|
void |
setMaxIterations(int maxIterations) |
addChangeListener, applyFilter, dontMove, fireStateChanged, forceMove, getAVertex, getBaseKey, getChangeListeners, getCoordinates, getCurrentSize, getEdge, getEdge, getGraph, getLocation, getVertex, getVertex, getVertexIterator, getVisibleEdges, getVisibleGraph, getVisibleVertices, getX, getY, initialize, initialize, initializeLocation, isLocked, lockVertex, offsetVertex, postInitialize, removeChangeListener, resize, restart, unlockVertex
protected double diameter
protected UnweightedShortestPath unweightedShortestPaths
public FastScalableMDS(Graph g)
public void advancePositions()
AbstractLayout
Note that "locked" vertices are not to be moved; however, it is the policy of the visualization to decide how to handle them, and what to do with the vertices around them. Prototypical code might include a clipping like
for (Iterator i = getVertices().iterator(); i.hasNext() ) { Vertex v = (Vertex) i.next(); if (! dontmove.contains( v ) ) { ... // handle the node } else { // ignore the node } }
advancePositions
in interface Layout
advancePositions
in class AbstractLayout
Layout.advancePositions()
public java.lang.String getStatus()
AbstractLayout
getStatus
in interface Layout
getStatus
in class AbstractLayout
public boolean incrementsAreDone()
protected void initialize_local()
AbstractLayout
initialize_local
in class AbstractLayout
protected void initialize_local_vertex(Vertex v)
AbstractLayout
initialize_local_vertex
in class AbstractLayout
protected void initializeLocations()
AbstractLayout
initializeLocations
in class AbstractLayout
public boolean isIncremental()
public void setMaxIterations(int maxIterations)