mxIGraphLayout
public class mxFastOrganicLayout extends mxGraphLayout
Modifier and Type | Field | Description |
---|---|---|
protected boolean |
allowedToRun |
Boolean flag that specifies if the layout is allowed to run.
|
protected double[][] |
cellLocation |
An array of locally stored co-ordinate positions for the vertices.
|
protected boolean |
disableEdgeStyle |
Specifies if the STYLE_NOEDGESTYLE flag should be set on edges that are
modified by the result.
|
protected double[] |
dispX |
An array of locally stored X co-ordinate displacements for the vertices.
|
protected double[] |
dispY |
An array of locally stored Y co-ordinate displacements for the vertices.
|
protected double |
forceConstant |
The force constant by which the attractive forces are divided and the
replusive forces are multiple by the square of.
|
protected double |
forceConstantSquared |
Cache of
|
protected java.util.Hashtable<java.lang.Object,java.lang.Integer> |
indices |
Maps from vertices to indices.
|
protected double |
initialTemp |
Start value of temperature.
|
protected boolean[] |
isMoveable |
Array of booleans representing the movable states of the vertices.
|
protected double |
iteration |
Current iteration count.
|
protected double |
maxDistanceLimit |
The maximum distance between vertices, beyond which their
repulsion no longer has an effect
|
protected double |
maxIterations |
Total number of iterations to run the layout though.
|
protected double |
minDistanceLimit |
Minimal distance limit.
|
protected double |
minDistanceLimitSquared |
Cached version of
|
protected int[][] |
neighbours |
Local copy of cell neighbours.
|
protected double[] |
radius |
The approximate radius of each cell, nodes only.
|
protected double[] |
radiusSquared |
The approximate radius squared of each cell, nodes only.
|
protected boolean |
resetEdges |
Specifies if all edge points of traversed edges should be removed.
|
protected double |
temperature |
Temperature to limit displacement at later stages of layout.
|
protected boolean |
useInputOrigin |
Specifies if the top left corner of the input cells should be the origin
of the layout result.
|
protected java.lang.Object[] |
vertexArray |
An array of all vertices to be laid out.
|
graph, parent, useBoundingBox
Constructor | Description |
---|---|
mxFastOrganicLayout(mxGraph graph) |
Constructs a new fast organic layout for the specified graph.
|
Modifier and Type | Method | Description |
---|---|---|
protected void |
calcAttraction() |
Calculates the attractive forces between all laid out nodes linked by
edges
|
protected void |
calcPositions() |
Takes the displacements calculated for each cell and applies them to the
local cache of cell positions.
|
protected void |
calcRepulsion() |
Calculates the repulsive forces between all laid out nodes
|
void |
execute(java.lang.Object parent) |
Executes the layout for the children of the specified parent.
|
double |
getForceConstant() |
|
double |
getInitialTemp() |
|
double |
getMaxDistanceLimit() |
|
double |
getMaxIterations() |
|
double |
getMinDistanceLimit() |
|
boolean |
isDisableEdgeStyle() |
|
boolean |
isResetEdges() |
|
boolean |
isUseInputOrigin() |
|
boolean |
isVertexIgnored(java.lang.Object vertex) |
Returns a boolean indicating if the given
|
void |
moveCell(java.lang.Object cell,
double x,
double y) |
Notified when a cell is being moved in a parent that has automatic
layout to update the cell state (eg.
|
protected void |
reduceTemperature() |
Reduces the temperature of the layout from an initial setting in a linear
fashion to zero.
|
void |
setDisableEdgeStyle(boolean value) |
|
void |
setForceConstant(double value) |
|
void |
setInitialTemp(double value) |
|
void |
setMaxDistanceLimit(double maxDistanceLimit) |
|
void |
setMaxIterations(double value) |
|
void |
setMinDistanceLimit(double value) |
|
void |
setResetEdges(boolean value) |
|
void |
setUseInputOrigin(boolean value) |
arrangeGroups, getConstraint, getConstraint, getGraph, getParentOffset, getVertexBounds, isEdgeIgnored, isUseBoundingBox, isVertexMovable, setEdgePoints, setEdgeStyleEnabled, setOrthogonalEdge, setUseBoundingBox, setVertexLocation
protected boolean useInputOrigin
protected boolean resetEdges
protected boolean disableEdgeStyle
protected double forceConstant
protected double forceConstantSquared
protected double minDistanceLimit
protected double minDistanceLimitSquared
protected double maxDistanceLimit
protected double initialTemp
protected double temperature
protected double maxIterations
protected double iteration
protected java.lang.Object[] vertexArray
protected double[] dispX
protected double[] dispY
protected double[][] cellLocation
protected double[] radius
protected double[] radiusSquared
protected boolean[] isMoveable
protected int[][] neighbours
protected boolean allowedToRun
protected java.util.Hashtable<java.lang.Object,java.lang.Integer> indices
public mxFastOrganicLayout(mxGraph graph)
public boolean isVertexIgnored(java.lang.Object vertex)
isVertexIgnored
in class mxGraphLayout
vertex
- Object that represents the vertex to be tested.public boolean isUseInputOrigin()
public void setUseInputOrigin(boolean value)
value
- public boolean isResetEdges()
public void setResetEdges(boolean value)
value
- public boolean isDisableEdgeStyle()
public void setDisableEdgeStyle(boolean value)
value
- public double getMaxIterations()
public void setMaxIterations(double value)
value
- public double getForceConstant()
public void setForceConstant(double value)
value
- public double getMinDistanceLimit()
public void setMinDistanceLimit(double value)
value
- public double getMaxDistanceLimit()
public void setMaxDistanceLimit(double maxDistanceLimit)
maxDistanceLimit
- the maxDistanceLimit to setpublic double getInitialTemp()
public void setInitialTemp(double value)
value
- protected void reduceTemperature()
public void moveCell(java.lang.Object cell, double x, double y)
mxIGraphLayout
moveCell
in interface mxIGraphLayout
moveCell
in class mxGraphLayout
cell
- Cell which is being moved.x
- X-coordinate of the new cell location.y
- Y-coordinate of the new cell location.public void execute(java.lang.Object parent)
mxIGraphLayout
execute
in interface mxIGraphLayout
execute
in class mxGraphLayout
parent
- Parent cell that contains the children to be layed out.protected void calcPositions()
protected void calcAttraction()
protected void calcRepulsion()
Copyright (c) 2010-2017 Gaudenz Alder, JGraph Ltd. All rights reserved.