public class KKLayout extends AbstractLayout
Modifier and Type | Field and Description |
---|---|
protected double |
diameter
The diameter of the visible graph.
|
protected Distance |
distance
Retrieves graph distances between vertices of the visible graph
|
changeSupport, vertex_locations
Constructor and Description |
---|
KKLayout(Graph g) |
KKLayout(Graph g,
Distance distance) |
Modifier and Type | Method and Description |
---|---|
void |
adjustForGravity()
Shift all vertices so that the center of gravity is located at
the center of the screen.
|
void |
advancePositions()
Implementors must override this method in order to create a Layout.
|
boolean |
getAdjustForGravity()
Returns true if gravity point adjusting is enabled.
|
boolean |
getExchangeVertices()
Returns true if the local minimum escape technique by
exchanging vertices is enabled.
|
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 |
setAdjustForGravity(boolean on)
Enable or disable gravity point adjusting.
|
void |
setDisconnectedDistanceMultiplier(double disconnected_multiplier)
Sets a multiplicative factor that specifies the fraction of the graph's diameter to be
used as the inter-vertex distance between disconnected vertices.
|
void |
setExchangeVertices(boolean on)
Enable or disable the local minimum escape technique by
exchanging vertices.
|
void |
setLengthFactor(double length_factor)
Sets a multiplicative factor which
partly specifies the "preferred" length of an edge (L).
|
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 Distance distance
protected double diameter
public KKLayout(Graph g)
public void setLengthFactor(double length_factor)
public void setDisconnectedDistanceMultiplier(double disconnected_multiplier)
public java.lang.String getStatus()
AbstractLayout
getStatus
in interface Layout
getStatus
in class AbstractLayout
public void setMaxIterations(int maxIterations)
public boolean isIncremental()
public boolean incrementsAreDone()
protected void initialize_local()
AbstractLayout
initialize_local
in class AbstractLayout
protected void initializeLocations()
AbstractLayout
initializeLocations
in class AbstractLayout
protected void initialize_local_vertex(Vertex v)
AbstractLayout
initialize_local_vertex
in class AbstractLayout
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 void adjustForGravity()
public void setAdjustForGravity(boolean on)
public boolean getAdjustForGravity()
public void setExchangeVertices(boolean on)
public boolean getExchangeVertices()