2131 lines
91 KiB
HTML
2131 lines
91 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
<!-- NewPage -->
|
|
<html lang="en">
|
|
<head>
|
|
<!-- Generated by javadoc (version 1.7.0_51) on Mon Nov 10 03:59:58 EST 2014 -->
|
|
<title>mxOrganicLayout (mxGraph 3.1.1.1 API Specification)</title>
|
|
<meta name="date" content="2014-11-10">
|
|
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
|
|
</head>
|
|
<body>
|
|
<script type="text/javascript"><!--
|
|
if (location.href.indexOf('is-external=true') == -1) {
|
|
parent.document.title="mxOrganicLayout (mxGraph 3.1.1.1 API Specification)";
|
|
}
|
|
//-->
|
|
</script>
|
|
<noscript>
|
|
<div>JavaScript is disabled on your browser.</div>
|
|
</noscript>
|
|
<!-- ========= START OF TOP NAVBAR ======= -->
|
|
<div class="topNav"><a name="navbar_top">
|
|
<!-- -->
|
|
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="navList" title="Navigation">
|
|
<li><a href="../../../overview-summary.html">Overview</a></li>
|
|
<li><a href="package-summary.html">Package</a></li>
|
|
<li class="navBarCell1Rev">Class</li>
|
|
<li><a href="class-use/mxOrganicLayout.html">Use</a></li>
|
|
<li><a href="package-tree.html">Tree</a></li>
|
|
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
|
|
<li><a href="../../../index-all.html">Index</a></li>
|
|
<li><a href="../../../help-doc.html">Help</a></li>
|
|
</ul>
|
|
<div class="aboutLanguage"><em><p><b>mxGraph 3.1.1.1</b></p></em></div>
|
|
</div>
|
|
<div class="subNav">
|
|
<ul class="navList">
|
|
<li><a href="../../../com/mxgraph/layout/mxIGraphLayout.html" title="interface in com.mxgraph.layout"><span class="strong">Prev Class</span></a></li>
|
|
<li><a href="../../../com/mxgraph/layout/mxOrganicLayout.CellWrapper.html" title="class in com.mxgraph.layout"><span class="strong">Next Class</span></a></li>
|
|
</ul>
|
|
<ul class="navList">
|
|
<li><a href="../../../index.html?com/mxgraph/layout/mxOrganicLayout.html" target="_top">Frames</a></li>
|
|
<li><a href="mxOrganicLayout.html" target="_top">No Frames</a></li>
|
|
</ul>
|
|
<ul class="navList" id="allclasses_navbar_top">
|
|
<li><a href="../../../allclasses-noframe.html">All Classes</a></li>
|
|
</ul>
|
|
<div>
|
|
<script type="text/javascript"><!--
|
|
allClassesLink = document.getElementById("allclasses_navbar_top");
|
|
if(window==top) {
|
|
allClassesLink.style.display = "block";
|
|
}
|
|
else {
|
|
allClassesLink.style.display = "none";
|
|
}
|
|
//-->
|
|
</script>
|
|
</div>
|
|
<div>
|
|
<ul class="subNavList">
|
|
<li>Summary: </li>
|
|
<li><a href="#nested_class_summary">Nested</a> | </li>
|
|
<li><a href="#field_summary">Field</a> | </li>
|
|
<li><a href="#constructor_summary">Constr</a> | </li>
|
|
<li><a href="#method_summary">Method</a></li>
|
|
</ul>
|
|
<ul class="subNavList">
|
|
<li>Detail: </li>
|
|
<li><a href="#field_detail">Field</a> | </li>
|
|
<li><a href="#constructor_detail">Constr</a> | </li>
|
|
<li><a href="#method_detail">Method</a></li>
|
|
</ul>
|
|
</div>
|
|
<a name="skip-navbar_top">
|
|
<!-- -->
|
|
</a></div>
|
|
<!-- ========= END OF TOP NAVBAR ========= -->
|
|
<!-- ======== START OF CLASS DATA ======== -->
|
|
<div class="header">
|
|
<div class="subTitle">com.mxgraph.layout</div>
|
|
<h2 title="Class mxOrganicLayout" class="title">Class mxOrganicLayout</h2>
|
|
</div>
|
|
<div class="contentContainer">
|
|
<ul class="inheritance">
|
|
<li>java.lang.Object</li>
|
|
<li>
|
|
<ul class="inheritance">
|
|
<li><a href="../../../com/mxgraph/layout/mxGraphLayout.html" title="class in com.mxgraph.layout">com.mxgraph.layout.mxGraphLayout</a></li>
|
|
<li>
|
|
<ul class="inheritance">
|
|
<li>com.mxgraph.layout.mxOrganicLayout</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<div class="description">
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<dl>
|
|
<dt>All Implemented Interfaces:</dt>
|
|
<dd><a href="../../../com/mxgraph/layout/mxIGraphLayout.html" title="interface in com.mxgraph.layout">mxIGraphLayout</a></dd>
|
|
</dl>
|
|
<hr>
|
|
<br>
|
|
<pre>public class <span class="strong">mxOrganicLayout</span>
|
|
extends <a href="../../../com/mxgraph/layout/mxGraphLayout.html" title="class in com.mxgraph.layout">mxGraphLayout</a></pre>
|
|
<div class="block">An implementation of a simulated annealing layout, based on "Drawing Graphs
|
|
Nicely Using Simulated Annealing" by Davidson and Harel (1996). This
|
|
paper describes these criteria as being favourable in a graph layout: (1)
|
|
distributing nodes evenly, (2) making edge-lengths uniform, (3)
|
|
minimizing cross-crossings, and (4) keeping nodes from coming too close
|
|
to edges. These criteria are translated into energy cost functions in the
|
|
layout. Nodes or edges breaking these criteria create a larger cost function
|
|
, the total cost they contribute related to the extent that they break it.
|
|
The idea of the algorithm is to minimise the total system energy. Factors
|
|
are assigned to each of the criteria describing how important that
|
|
criteria is. Higher factors mean that those criteria are deemed to be
|
|
relatively preferable in the final layout. Most of the criteria conflict
|
|
with the others to some extent and so the setting of the factors determines
|
|
the general look of the resulting graph.
|
|
<p>
|
|
In addition to the four aesthetic criteria the concept of a border line
|
|
which induces an energy cost to nodes in proximity to the graph bounds is
|
|
introduced to attempt to restrain the graph. All of the 5 factors can be
|
|
switched on or off using the <code>isOptimize...</code> variables.
|
|
<p>
|
|
Simulated Annealing is a force-directed layout and is one of the more
|
|
expensive, but generally effective layouts of this type. Layouts like
|
|
the spring layout only really factor in edge length and inter-node
|
|
distance being the lowest CPU intensive for the most aesthetic gain. The
|
|
additional factors are more expensive but can have very attractive results.
|
|
<p>
|
|
The main loop of the algorithm consist of processing the nodes in a
|
|
deterministic order. During the processing of each node a circle of radius
|
|
<code>moveRadius</code> is made around the node and split into
|
|
<code>triesPerCell</code> equal segments. Each point between neighbour
|
|
segments is determined and the new energy of the system if the node were
|
|
moved to that position calculated. Only the necessary nodes and edges are
|
|
processed new energy values resulting in quadratic performance, O(VE),
|
|
whereas calculating the total system energy would be cubic. The default
|
|
implementation only checks 8 points around the radius of the circle, as
|
|
opposed to the suggested 30 in the paper. Doubling the number of points
|
|
double the CPU load and 8 works almost as well as 30.
|
|
<p>
|
|
The <code>moveRadius</code> replaces the temperature as the influencing
|
|
factor in the way the graph settles in later iterations. If the user does
|
|
not set the initial move radius it is set to half the maximum dimension
|
|
of the graph. Thus, in 2 iterations a node may traverse the entire graph,
|
|
and it is more sensible to find minima this way that uphill moves, which
|
|
are little more than an expensive 'tilt' method. The factor by which
|
|
the radius is multiplied by after each iteration is important, lowering
|
|
it improves performance but raising it towards 1.0 can improve the
|
|
resulting graph aesthetics. When the radius hits the minimum move radius
|
|
defined, the layout terminates. The minimum move radius should be set
|
|
a value where the move distance is too minor to be of interest.
|
|
<p>
|
|
Also, the idea of a fine tuning phase is used, as described in the paper.
|
|
This involves only calculating the edge to node distance energy cost
|
|
at the end of the algorithm since it is an expensive calculation and
|
|
it really an 'optimizating' function. <code>fineTuningRadius</code>
|
|
defines the radius value that, when reached, causes the edge to node
|
|
distance to be calculated.
|
|
<p>
|
|
There are other special cases that are processed after each iteration.
|
|
<code>unchangedEnergyRoundTermination</code> defines the number of
|
|
iterations, after which the layout terminates. If nothing is being moved
|
|
it is assumed a good layout has been found. In addition to this if
|
|
no nodes are moved during an iteration the move radius is halved, presuming
|
|
that a finer granularity is required.</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="summary">
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<!-- ======== NESTED CLASS SUMMARY ======== -->
|
|
<ul class="blockList">
|
|
<li class="blockList"><a name="nested_class_summary">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Nested Class Summary</h3>
|
|
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
|
|
<caption><span>Nested Classes</span><span class="tabEnd"> </span></caption>
|
|
<tr>
|
|
<th class="colFirst" scope="col">Modifier and Type</th>
|
|
<th class="colLast" scope="col">Class and Description</th>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>class </code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.CellWrapper.html" title="class in com.mxgraph.layout">mxOrganicLayout.CellWrapper</a></strong></code>
|
|
<div class="block">Internal representation of a node or edge that holds cached information
|
|
to enable the layout to perform more quickly and to simplify the code</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</li>
|
|
</ul>
|
|
<!-- =========== FIELD SUMMARY =========== -->
|
|
<ul class="blockList">
|
|
<li class="blockList"><a name="field_summary">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Field Summary</h3>
|
|
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
|
|
<caption><span>Fields</span><span class="tabEnd"> </span></caption>
|
|
<tr>
|
|
<th class="colFirst" scope="col">Modifier and Type</th>
|
|
<th class="colLast" scope="col">Field and Description</th>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#approxNodeDimensions">approxNodeDimensions</a></strong></code>
|
|
<div class="block">Whether or not to use approximate node dimensions or not.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#averageNodeArea">averageNodeArea</a></strong></code>
|
|
<div class="block">The average amount of area allocated per node.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#borderLineCostFactor">borderLineCostFactor</a></strong></code>
|
|
<div class="block">Cost factor applied to energy calculations for node promixity to the
|
|
notional border of the graph.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#boundsHeight">boundsHeight</a></strong></code>
|
|
<div class="block">The height coordinate of the final graph</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#boundsWidth">boundsWidth</a></strong></code>
|
|
<div class="block">The width coordinate of the final graph</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#boundsX">boundsX</a></strong></code>
|
|
<div class="block">The x coordinate of the final graph</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#boundsY">boundsY</a></strong></code>
|
|
<div class="block">The y coordinate of the final graph</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#disableEdgeStyle">disableEdgeStyle</a></strong></code>
|
|
<div class="block">Specifies if the STYLE_NOEDGESTYLE flag should be set on edges that are
|
|
modified by the result.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected <a href="../../../com/mxgraph/layout/mxOrganicLayout.CellWrapper.html" title="class in com.mxgraph.layout">mxOrganicLayout.CellWrapper</a>[]</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#e">e</a></strong></code>
|
|
<div class="block">Internal models collection of edges to be laid out</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#edgeCrossingCostFactor">edgeCrossingCostFactor</a></strong></code>
|
|
<div class="block">Cost factor applied to energy calculations involving edges that cross
|
|
over one another.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#edgeDistanceCostFactor">edgeDistanceCostFactor</a></strong></code>
|
|
<div class="block">Cost factor applied to energy calculations involving the distance
|
|
nodes and edges.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#edgeLengthCostFactor">edgeLengthCostFactor</a></strong></code>
|
|
<div class="block">Cost factor applied to energy calculations for the edge lengths.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#fineTuningRadius">fineTuningRadius</a></strong></code>
|
|
<div class="block">The radius below which fine tuning of the layout should start
|
|
This involves allowing the distance between nodes and edges to be
|
|
taken into account in the total energy calculation.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#initialMoveRadius">initialMoveRadius</a></strong></code>
|
|
<div class="block">The initial value of <code>moveRadius</code>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#isFineTuning">isFineTuning</a></strong></code>
|
|
<div class="block">Whether or not fine tuning is on.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#isOptimizeBorderLine">isOptimizeBorderLine</a></strong></code>
|
|
<div class="block">Whether or not nodes will contribute an energy cost as they approach
|
|
the bound of the graph.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#isOptimizeEdgeCrossing">isOptimizeEdgeCrossing</a></strong></code>
|
|
<div class="block">Whether or not edges crosses will be calculated as an energy cost
|
|
function.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#isOptimizeEdgeDistance">isOptimizeEdgeDistance</a></strong></code>
|
|
<div class="block">Whether or not the distance between edge and nodes will be calculated
|
|
as an energy cost function.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#isOptimizeEdgeLength">isOptimizeEdgeLength</a></strong></code>
|
|
<div class="block">Whether or not edge lengths will be calculated as an energy cost
|
|
function.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#isOptimizeNodeDistribution">isOptimizeNodeDistribution</a></strong></code>
|
|
<div class="block">Whether or not node distribute will contribute an energy cost where
|
|
nodes are close together.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected int</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#iteration">iteration</a></strong></code>
|
|
<div class="block">current iteration number of the layout</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#maxDistanceLimit">maxDistanceLimit</a></strong></code>
|
|
<div class="block">distance limit beyond which energy costs due to object repulsive is
|
|
not calculated as it would be too insignificant</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#maxDistanceLimitSquared">maxDistanceLimitSquared</a></strong></code>
|
|
<div class="block">cached version of <code>maxDistanceLimit</code> squared</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected int</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#maxIterations">maxIterations</a></strong></code>
|
|
<div class="block">Limit to the number of iterations that may take place.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#minDistanceLimit">minDistanceLimit</a></strong></code>
|
|
<div class="block">prevents from dividing with zero and from creating excessive energy
|
|
values</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#minDistanceLimitSquared">minDistanceLimitSquared</a></strong></code>
|
|
<div class="block">cached version of <code>minDistanceLimit</code> squared</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#minMoveRadius">minMoveRadius</a></strong></code>
|
|
<div class="block">when <a href="../../../com/mxgraph/layout/mxOrganicLayout.html#moveRadius"><code>moveRadius</code></a>reaches this value, the algorithm is terminated</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#moveRadius">moveRadius</a></strong></code>
|
|
<div class="block">The current radius around each node where the next position energy
|
|
values will be calculated for a possible move</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#nodeDistributionCostFactor">nodeDistributionCostFactor</a></strong></code>
|
|
<div class="block">Cost factor applied to energy calculations involving the general node
|
|
distribution of the graph.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#radiusScaleFactor">radiusScaleFactor</a></strong></code>
|
|
<div class="block">The factor by which the <code>moveRadius</code> is multiplied by after
|
|
every iteration.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#resetEdges">resetEdges</a></strong></code>
|
|
<div class="block">Specifies if all edge points of traversed edges should be removed.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected int</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#triesPerCell">triesPerCell</a></strong></code>
|
|
<div class="block">determines, in how many segments the circle around cells is divided, to
|
|
find a new position for the cell.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected int</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#unchangedEnergyRoundCount">unchangedEnergyRoundCount</a></strong></code>
|
|
<div class="block">Keeps track of how many consecutive round have passed without any energy
|
|
changes</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected int</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#unchangedEnergyRoundTermination">unchangedEnergyRoundTermination</a></strong></code>
|
|
<div class="block">The number of round of no node moves taking placed that the layout
|
|
terminates</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected <a href="../../../com/mxgraph/layout/mxOrganicLayout.CellWrapper.html" title="class in com.mxgraph.layout">mxOrganicLayout.CellWrapper</a>[]</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#v">v</a></strong></code>
|
|
<div class="block">Internal models collection of nodes ( vertices ) to be laid out</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected double[]</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#xNormTry">xNormTry</a></strong></code>
|
|
<div class="block">Array of the x portion of the normalised test vectors that
|
|
are tested for a lower energy around each vertex.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected double[]</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#yNormTry">yNormTry</a></strong></code>
|
|
<div class="block">Array of the y portion of the normalised test vectors that
|
|
are tested for a lower energy around each vertex.</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<ul class="blockList">
|
|
<li class="blockList"><a name="fields_inherited_from_class_com.mxgraph.layout.mxGraphLayout">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Fields inherited from class com.mxgraph.layout.<a href="../../../com/mxgraph/layout/mxGraphLayout.html" title="class in com.mxgraph.layout">mxGraphLayout</a></h3>
|
|
<code><a href="../../../com/mxgraph/layout/mxGraphLayout.html#graph">graph</a>, <a href="../../../com/mxgraph/layout/mxGraphLayout.html#parent">parent</a>, <a href="../../../com/mxgraph/layout/mxGraphLayout.html#useBoundingBox">useBoundingBox</a></code></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
|
<ul class="blockList">
|
|
<li class="blockList"><a name="constructor_summary">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Constructor Summary</h3>
|
|
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
|
|
<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
|
|
<tr>
|
|
<th class="colOne" scope="col">Constructor and Description</th>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colOne"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#mxOrganicLayout(com.mxgraph.view.mxGraph)">mxOrganicLayout</a></strong>(<a href="../../../com/mxgraph/view/mxGraph.html" title="class in com.mxgraph.view">mxGraph</a> graph)</code>
|
|
<div class="block">Constructor for mxOrganicLayout.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colOne"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#mxOrganicLayout(com.mxgraph.view.mxGraph, java.awt.geom.Rectangle2D)">mxOrganicLayout</a></strong>(<a href="../../../com/mxgraph/view/mxGraph.html" title="class in com.mxgraph.view">mxGraph</a> graph,
|
|
java.awt.geom.Rectangle2D bounds)</code>
|
|
<div class="block">Constructor for mxOrganicLayout.</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</li>
|
|
</ul>
|
|
<!-- ========== METHOD SUMMARY =========== -->
|
|
<ul class="blockList">
|
|
<li class="blockList"><a name="method_summary">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Method Summary</h3>
|
|
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
|
|
<caption><span>Methods</span><span class="tabEnd"> </span></caption>
|
|
<tr>
|
|
<th class="colFirst" scope="col">Modifier and Type</th>
|
|
<th class="colLast" scope="col">Method and Description</th>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#calcEnergyDelta(int, double, double, double, double, double, double)">calcEnergyDelta</a></strong>(int index,
|
|
double oldNodeDistribution,
|
|
double oldEdgeDistance,
|
|
double oldEdgeCrossing,
|
|
double oldBorderLine,
|
|
double oldEdgeLength,
|
|
double oldAdditionalFactorsEnergy)</code>
|
|
<div class="block">Calculates the change in energy for the specified node.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#execute(java.lang.Object)">execute</a></strong>(java.lang.Object parent)</code>
|
|
<div class="block">Implements <mxGraphLayout.execute>.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getAdditionFactorsEnergy(int)">getAdditionFactorsEnergy</a></strong>(int i)</code>
|
|
<div class="block">Hook method to adding additional energy factors into the layout.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getAverageNodeArea()">getAverageNodeArea</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getBorderline(int)">getBorderline</a></strong>(int i)</code>
|
|
<div class="block">This method calculates the energy of the distance of the specified
|
|
node to the notional border of the graph.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getBorderLineCostFactor()">getBorderLineCostFactor</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected int[]</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getConnectedEdges(int)">getConnectedEdges</a></strong>(int cellIndex)</code>
|
|
<div class="block">Returns all Edges that are connected with the specified cell</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getEdgeCrossing(int)">getEdgeCrossing</a></strong>(int i)</code>
|
|
<div class="block">This method calculates the energy of the distance from the specified
|
|
edge crossing any other edges.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getEdgeCrossingAffectedEdges(int)">getEdgeCrossingAffectedEdges</a></strong>(int node)</code>
|
|
<div class="block">Obtains the energy cost function for the specified node being moved.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getEdgeCrossingCostFactor()">getEdgeCrossingCostFactor</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getEdgeDistanceAffectedNodes(int)">getEdgeDistanceAffectedNodes</a></strong>(int node)</code>
|
|
<div class="block">Obtains the energy cost function for the specified node being moved.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getEdgeDistanceCostFactor()">getEdgeDistanceCostFactor</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getEdgeDistanceFromEdge(int)">getEdgeDistanceFromEdge</a></strong>(int i)</code>
|
|
<div class="block">This method calculates the energy of the distance between Cells and
|
|
Edges.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getEdgeDistanceFromNode(int)">getEdgeDistanceFromNode</a></strong>(int i)</code>
|
|
<div class="block">This method calculates the energy of the distance between Cells and
|
|
Edges.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getEdgeLength(int)">getEdgeLength</a></strong>(int i)</code>
|
|
<div class="block">This method calculates the energy due to the length of the specified
|
|
edge.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getEdgeLengthAffectedEdges(int)">getEdgeLengthAffectedEdges</a></strong>(int node)</code>
|
|
<div class="block">Obtains the energy cost function for the specified node being moved.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getEdgeLengthCostFactor()">getEdgeLengthCostFactor</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getFineTuningRadius()">getFineTuningRadius</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getInitialMoveRadius()">getInitialMoveRadius</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getMaxDistanceLimit()">getMaxDistanceLimit</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getMaxIterations()">getMaxIterations</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getMinDistanceLimit()">getMinDistanceLimit</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getMinMoveRadius()">getMinMoveRadius</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getNodeDistribution(int)">getNodeDistribution</a></strong>(int i)</code>
|
|
<div class="block">Calculates the energy cost of the specified node relative to all other
|
|
nodes.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getNodeDistributionCostFactor()">getNodeDistributionCostFactor</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>double</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getRadiusScaleFactor()">getRadiusScaleFactor</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>protected int[]</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getRelevantEdges(int)">getRelevantEdges</a></strong>(int cellIndex)</code>
|
|
<div class="block">Returns all Edges that are not connected to the specified cell</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getTriesPerCell()">getTriesPerCell</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>int</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#getUnchangedEnergyRoundTermination()">getUnchangedEnergyRoundTermination</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#isApproxNodeDimensions()">isApproxNodeDimensions</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#isDisableEdgeStyle()">isDisableEdgeStyle</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#isFineTuning()">isFineTuning</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#isOptimizeBorderLine()">isOptimizeBorderLine</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#isOptimizeEdgeCrossing()">isOptimizeEdgeCrossing</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#isOptimizeEdgeDistance()">isOptimizeEdgeDistance</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#isOptimizeEdgeLength()">isOptimizeEdgeLength</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#isOptimizeNodeDistribution()">isOptimizeNodeDistribution</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#isResetEdges()">isResetEdges</a></strong>()</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>boolean</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#isVertexIgnored(java.lang.Object)">isVertexIgnored</a></strong>(java.lang.Object vertex)</code>
|
|
<div class="block">Returns true if the given vertex has no connected edges.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>protected void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#performRound()">performRound</a></strong>()</code>
|
|
<div class="block">The main round of the algorithm.</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setApproxNodeDimensions(boolean)">setApproxNodeDimensions</a></strong>(boolean approxNodeDimensions)</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setAverageNodeArea(double)">setAverageNodeArea</a></strong>(double averageNodeArea)</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setBorderLineCostFactor(double)">setBorderLineCostFactor</a></strong>(double borderLineCostFactor)</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setDisableEdgeStyle(boolean)">setDisableEdgeStyle</a></strong>(boolean disableEdgeStyle)</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setEdgeCrossingCostFactor(double)">setEdgeCrossingCostFactor</a></strong>(double edgeCrossingCostFactor)</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setEdgeDistanceCostFactor(double)">setEdgeDistanceCostFactor</a></strong>(double edgeDistanceCostFactor)</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setEdgeLengthCostFactor(double)">setEdgeLengthCostFactor</a></strong>(double edgeLengthCostFactor)</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setFineTuning(boolean)">setFineTuning</a></strong>(boolean isFineTuning)</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setFineTuningRadius(double)">setFineTuningRadius</a></strong>(double fineTuningRadius)</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setInitialMoveRadius(double)">setInitialMoveRadius</a></strong>(double initialMoveRadius)</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setMaxDistanceLimit(double)">setMaxDistanceLimit</a></strong>(double maxDistanceLimit)</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setMaxIterations(int)">setMaxIterations</a></strong>(int maxIterations)</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setMinDistanceLimit(double)">setMinDistanceLimit</a></strong>(double minDistanceLimit)</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setMinMoveRadius(double)">setMinMoveRadius</a></strong>(double minMoveRadius)</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setNodeDistributionCostFactor(double)">setNodeDistributionCostFactor</a></strong>(double nodeDistributionCostFactor)</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setOptimizeBorderLine(boolean)">setOptimizeBorderLine</a></strong>(boolean isOptimizeBorderLine)</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setOptimizeEdgeCrossing(boolean)">setOptimizeEdgeCrossing</a></strong>(boolean isOptimizeEdgeCrossing)</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setOptimizeEdgeDistance(boolean)">setOptimizeEdgeDistance</a></strong>(boolean isOptimizeEdgeDistance)</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setOptimizeEdgeLength(boolean)">setOptimizeEdgeLength</a></strong>(boolean isOptimizeEdgeLength)</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setOptimizeNodeDistribution(boolean)">setOptimizeNodeDistribution</a></strong>(boolean isOptimizeNodeDistribution)</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setRadiusScaleFactor(double)">setRadiusScaleFactor</a></strong>(double radiusScaleFactor)</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setResetEdges(boolean)">setResetEdges</a></strong>(boolean resetEdges)</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setTriesPerCell(int)">setTriesPerCell</a></strong>(int triesPerCell)</code> </td>
|
|
</tr>
|
|
<tr class="rowColor">
|
|
<td class="colFirst"><code>void</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#setUnchangedEnergyRoundTermination(int)">setUnchangedEnergyRoundTermination</a></strong>(int unchangedEnergyRoundTermination)</code> </td>
|
|
</tr>
|
|
<tr class="altColor">
|
|
<td class="colFirst"><code>java.lang.String</code></td>
|
|
<td class="colLast"><code><strong><a href="../../../com/mxgraph/layout/mxOrganicLayout.html#toString()">toString</a></strong>()</code>
|
|
<div class="block">Returns <code>Organic</code>, the name of this algorithm.</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<ul class="blockList">
|
|
<li class="blockList"><a name="methods_inherited_from_class_com.mxgraph.layout.mxGraphLayout">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Methods inherited from class com.mxgraph.layout.<a href="../../../com/mxgraph/layout/mxGraphLayout.html" title="class in com.mxgraph.layout">mxGraphLayout</a></h3>
|
|
<code><a href="../../../com/mxgraph/layout/mxGraphLayout.html#arrangeGroups(java.lang.Object[], int)">arrangeGroups</a>, <a href="../../../com/mxgraph/layout/mxGraphLayout.html#getConstraint(java.lang.Object, java.lang.Object)">getConstraint</a>, <a href="../../../com/mxgraph/layout/mxGraphLayout.html#getConstraint(java.lang.Object, java.lang.Object, java.lang.Object, boolean)">getConstraint</a>, <a href="../../../com/mxgraph/layout/mxGraphLayout.html#getGraph()">getGraph</a>, <a href="../../../com/mxgraph/layout/mxGraphLayout.html#getParentOffset(java.lang.Object)">getParentOffset</a>, <a href="../../../com/mxgraph/layout/mxGraphLayout.html#getVertexBounds(java.lang.Object)">getVertexBounds</a>, <a href="../../../com/mxgraph/layout/mxGraphLayout.html#isEdgeIgnored(java.lang.Object)">isEdgeIgnored</a>, <a href="../../../com/mxgraph/layout/mxGraphLayout.html#isUseBoundingBox()">isUseBoundingBox</a>, <a href="../../../com/mxgraph/layout/mxGraphLayout.html#isVertexMovable(java.lang.Object)">isVertexMovable</a>, <a href="../../../com/mxgraph/layout/mxGraphLayout.html#moveCell(java.lang.Object, double, double)">moveCell</a>, <a href="../../../com/mxgraph/layout/mxGraphLayout.html#setEdgePoints(java.lang.Object, java.util.List)">setEdgePoints</a>, <a href="../../../com/mxgraph/layout/mxGraphLayout.html#setEdgeStyleEnabled(java.lang.Object, boolean)">setEdgeStyleEnabled</a>, <a href="../../../com/mxgraph/layout/mxGraphLayout.html#setOrthogonalEdge(java.lang.Object, boolean)">setOrthogonalEdge</a>, <a href="../../../com/mxgraph/layout/mxGraphLayout.html#setUseBoundingBox(boolean)">setUseBoundingBox</a>, <a href="../../../com/mxgraph/layout/mxGraphLayout.html#setVertexLocation(java.lang.Object, double, double)">setVertexLocation</a></code></li>
|
|
</ul>
|
|
<ul class="blockList">
|
|
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Methods inherited from class java.lang.Object</h3>
|
|
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="details">
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<!-- ============ FIELD DETAIL =========== -->
|
|
<ul class="blockList">
|
|
<li class="blockList"><a name="field_detail">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Field Detail</h3>
|
|
<a name="isOptimizeEdgeDistance">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isOptimizeEdgeDistance</h4>
|
|
<pre>protected boolean isOptimizeEdgeDistance</pre>
|
|
<div class="block">Whether or not the distance between edge and nodes will be calculated
|
|
as an energy cost function. This function is CPU intensive and is best
|
|
only used in the fine tuning phase.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="isOptimizeEdgeCrossing">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isOptimizeEdgeCrossing</h4>
|
|
<pre>protected boolean isOptimizeEdgeCrossing</pre>
|
|
<div class="block">Whether or not edges crosses will be calculated as an energy cost
|
|
function. This function is CPU intensive, though if some iterations
|
|
without it are required, it is best to have a few cycles at the start
|
|
of the algorithm using it, then use it intermittantly through the rest
|
|
of the layout.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="isOptimizeEdgeLength">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isOptimizeEdgeLength</h4>
|
|
<pre>protected boolean isOptimizeEdgeLength</pre>
|
|
<div class="block">Whether or not edge lengths will be calculated as an energy cost
|
|
function. This function not CPU intensive.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="isOptimizeBorderLine">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isOptimizeBorderLine</h4>
|
|
<pre>protected boolean isOptimizeBorderLine</pre>
|
|
<div class="block">Whether or not nodes will contribute an energy cost as they approach
|
|
the bound of the graph. The cost increases to a limit close to the
|
|
border and stays constant outside the bounds of the graph. This function
|
|
is not CPU intensive</div>
|
|
</li>
|
|
</ul>
|
|
<a name="isOptimizeNodeDistribution">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isOptimizeNodeDistribution</h4>
|
|
<pre>protected boolean isOptimizeNodeDistribution</pre>
|
|
<div class="block">Whether or not node distribute will contribute an energy cost where
|
|
nodes are close together. The function is moderately CPU intensive.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="minMoveRadius">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>minMoveRadius</h4>
|
|
<pre>protected double minMoveRadius</pre>
|
|
<div class="block">when <a href="../../../com/mxgraph/layout/mxOrganicLayout.html#moveRadius"><code>moveRadius</code></a>reaches this value, the algorithm is terminated</div>
|
|
</li>
|
|
</ul>
|
|
<a name="moveRadius">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>moveRadius</h4>
|
|
<pre>protected double moveRadius</pre>
|
|
<div class="block">The current radius around each node where the next position energy
|
|
values will be calculated for a possible move</div>
|
|
</li>
|
|
</ul>
|
|
<a name="initialMoveRadius">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>initialMoveRadius</h4>
|
|
<pre>protected double initialMoveRadius</pre>
|
|
<div class="block">The initial value of <code>moveRadius</code>. If this is set to zero
|
|
the layout will automatically determine a suitable value.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="radiusScaleFactor">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>radiusScaleFactor</h4>
|
|
<pre>protected double radiusScaleFactor</pre>
|
|
<div class="block">The factor by which the <code>moveRadius</code> is multiplied by after
|
|
every iteration. A value of 0.75 is a good balance between performance
|
|
and aesthetics. Increasing the value provides more chances to find
|
|
minimum energy positions and decreasing it causes the minimum radius
|
|
termination condition to occur more quickly.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="averageNodeArea">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>averageNodeArea</h4>
|
|
<pre>protected double averageNodeArea</pre>
|
|
<div class="block">The average amount of area allocated per node. If <code> bounds</code>
|
|
is not set this value mutiplied by the number of nodes to find
|
|
the total graph area. The graph is assumed square.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="fineTuningRadius">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>fineTuningRadius</h4>
|
|
<pre>protected double fineTuningRadius</pre>
|
|
<div class="block">The radius below which fine tuning of the layout should start
|
|
This involves allowing the distance between nodes and edges to be
|
|
taken into account in the total energy calculation. If this is set to
|
|
zero, the layout will automatically determine a suitable value</div>
|
|
</li>
|
|
</ul>
|
|
<a name="maxIterations">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>maxIterations</h4>
|
|
<pre>protected int maxIterations</pre>
|
|
<div class="block">Limit to the number of iterations that may take place. This is only
|
|
reached if one of the termination conditions does not occur first.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="edgeDistanceCostFactor">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>edgeDistanceCostFactor</h4>
|
|
<pre>protected double edgeDistanceCostFactor</pre>
|
|
<div class="block">Cost factor applied to energy calculations involving the distance
|
|
nodes and edges. Increasing this value tends to cause nodes to move away
|
|
from edges, at the partial cost of other graph aesthetics.
|
|
<code>isOptimizeEdgeDistance</code> must be true for edge to nodes
|
|
distances to be taken into account.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="edgeCrossingCostFactor">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>edgeCrossingCostFactor</h4>
|
|
<pre>protected double edgeCrossingCostFactor</pre>
|
|
<div class="block">Cost factor applied to energy calculations involving edges that cross
|
|
over one another. Increasing this value tends to result in fewer edge
|
|
crossings, at the partial cost of other graph aesthetics.
|
|
<code>isOptimizeEdgeCrossing</code> must be true for edge crossings
|
|
to be taken into account.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="nodeDistributionCostFactor">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>nodeDistributionCostFactor</h4>
|
|
<pre>protected double nodeDistributionCostFactor</pre>
|
|
<div class="block">Cost factor applied to energy calculations involving the general node
|
|
distribution of the graph. Increasing this value tends to result in
|
|
a better distribution of nodes across the available space, at the
|
|
partial cost of other graph aesthetics.
|
|
<code>isOptimizeNodeDistribution</code> must be true for this general
|
|
distribution to be applied.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="borderLineCostFactor">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>borderLineCostFactor</h4>
|
|
<pre>protected double borderLineCostFactor</pre>
|
|
<div class="block">Cost factor applied to energy calculations for node promixity to the
|
|
notional border of the graph. Increasing this value results in
|
|
nodes tending towards the centre of the drawing space, at the
|
|
partial cost of other graph aesthetics.
|
|
<code>isOptimizeBorderLine</code> must be true for border
|
|
repulsion to be applied.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="edgeLengthCostFactor">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>edgeLengthCostFactor</h4>
|
|
<pre>protected double edgeLengthCostFactor</pre>
|
|
<div class="block">Cost factor applied to energy calculations for the edge lengths.
|
|
Increasing this value results in the layout attempting to shorten all
|
|
edges to the minimum edge length, at the partial cost of other graph
|
|
aesthetics.
|
|
<code>isOptimizeEdgeLength</code> must be true for edge length
|
|
shortening to be applied.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="boundsX">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>boundsX</h4>
|
|
<pre>protected double boundsX</pre>
|
|
<div class="block">The x coordinate of the final graph</div>
|
|
</li>
|
|
</ul>
|
|
<a name="boundsY">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>boundsY</h4>
|
|
<pre>protected double boundsY</pre>
|
|
<div class="block">The y coordinate of the final graph</div>
|
|
</li>
|
|
</ul>
|
|
<a name="boundsWidth">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>boundsWidth</h4>
|
|
<pre>protected double boundsWidth</pre>
|
|
<div class="block">The width coordinate of the final graph</div>
|
|
</li>
|
|
</ul>
|
|
<a name="boundsHeight">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>boundsHeight</h4>
|
|
<pre>protected double boundsHeight</pre>
|
|
<div class="block">The height coordinate of the final graph</div>
|
|
</li>
|
|
</ul>
|
|
<a name="iteration">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>iteration</h4>
|
|
<pre>protected int iteration</pre>
|
|
<div class="block">current iteration number of the layout</div>
|
|
</li>
|
|
</ul>
|
|
<a name="triesPerCell">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>triesPerCell</h4>
|
|
<pre>protected int triesPerCell</pre>
|
|
<div class="block">determines, in how many segments the circle around cells is divided, to
|
|
find a new position for the cell. Doubling this value doubles the CPU
|
|
load. Increasing it beyond 16 might mean a change to the
|
|
<code>performRound</code> method might further improve accuracy for a
|
|
small performance hit. The change is described in the method comment.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="minDistanceLimit">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>minDistanceLimit</h4>
|
|
<pre>protected double minDistanceLimit</pre>
|
|
<div class="block">prevents from dividing with zero and from creating excessive energy
|
|
values</div>
|
|
</li>
|
|
</ul>
|
|
<a name="minDistanceLimitSquared">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>minDistanceLimitSquared</h4>
|
|
<pre>protected double minDistanceLimitSquared</pre>
|
|
<div class="block">cached version of <code>minDistanceLimit</code> squared</div>
|
|
</li>
|
|
</ul>
|
|
<a name="maxDistanceLimit">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>maxDistanceLimit</h4>
|
|
<pre>protected double maxDistanceLimit</pre>
|
|
<div class="block">distance limit beyond which energy costs due to object repulsive is
|
|
not calculated as it would be too insignificant</div>
|
|
</li>
|
|
</ul>
|
|
<a name="maxDistanceLimitSquared">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>maxDistanceLimitSquared</h4>
|
|
<pre>protected double maxDistanceLimitSquared</pre>
|
|
<div class="block">cached version of <code>maxDistanceLimit</code> squared</div>
|
|
</li>
|
|
</ul>
|
|
<a name="unchangedEnergyRoundCount">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>unchangedEnergyRoundCount</h4>
|
|
<pre>protected int unchangedEnergyRoundCount</pre>
|
|
<div class="block">Keeps track of how many consecutive round have passed without any energy
|
|
changes</div>
|
|
</li>
|
|
</ul>
|
|
<a name="unchangedEnergyRoundTermination">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>unchangedEnergyRoundTermination</h4>
|
|
<pre>protected int unchangedEnergyRoundTermination</pre>
|
|
<div class="block">The number of round of no node moves taking placed that the layout
|
|
terminates</div>
|
|
</li>
|
|
</ul>
|
|
<a name="approxNodeDimensions">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>approxNodeDimensions</h4>
|
|
<pre>protected boolean approxNodeDimensions</pre>
|
|
<div class="block">Whether or not to use approximate node dimensions or not. Set to true
|
|
the radius squared of the smaller dimension is used. Set to false the
|
|
radiusSquared variable of the CellWrapper contains the width squared
|
|
and heightSquared is used in the obvious manner.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="v">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>v</h4>
|
|
<pre>protected <a href="../../../com/mxgraph/layout/mxOrganicLayout.CellWrapper.html" title="class in com.mxgraph.layout">mxOrganicLayout.CellWrapper</a>[] v</pre>
|
|
<div class="block">Internal models collection of nodes ( vertices ) to be laid out</div>
|
|
</li>
|
|
</ul>
|
|
<a name="e">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>e</h4>
|
|
<pre>protected <a href="../../../com/mxgraph/layout/mxOrganicLayout.CellWrapper.html" title="class in com.mxgraph.layout">mxOrganicLayout.CellWrapper</a>[] e</pre>
|
|
<div class="block">Internal models collection of edges to be laid out</div>
|
|
</li>
|
|
</ul>
|
|
<a name="xNormTry">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>xNormTry</h4>
|
|
<pre>protected double[] xNormTry</pre>
|
|
<div class="block">Array of the x portion of the normalised test vectors that
|
|
are tested for a lower energy around each vertex. The vector
|
|
of the combined x and y normals are multipled by the current
|
|
radius to obtain test points for each vector in the array.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="yNormTry">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>yNormTry</h4>
|
|
<pre>protected double[] yNormTry</pre>
|
|
<div class="block">Array of the y portion of the normalised test vectors that
|
|
are tested for a lower energy around each vertex. The vector
|
|
of the combined x and y normals are multipled by the current
|
|
radius to obtain test points for each vector in the array.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="isFineTuning">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isFineTuning</h4>
|
|
<pre>protected boolean isFineTuning</pre>
|
|
<div class="block">Whether or not fine tuning is on. The determines whether or not
|
|
node to edge distances are calculated in the total system energy.
|
|
This cost function , besides detecting line intersection, is a
|
|
performance intensive component of this algorithm and best left
|
|
to optimization phase. <code>isFineTuning</code> is switched to
|
|
<code>true</code> if and when the <code>fineTuningRadius</code>
|
|
radius is reached. Switching this variable to <code>true</code>
|
|
before the algorithm runs mean the node to edge cost function
|
|
is always calculated.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="disableEdgeStyle">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>disableEdgeStyle</h4>
|
|
<pre>protected boolean disableEdgeStyle</pre>
|
|
<div class="block">Specifies if the STYLE_NOEDGESTYLE flag should be set on edges that are
|
|
modified by the result. Default is true.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="resetEdges">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockListLast">
|
|
<li class="blockList">
|
|
<h4>resetEdges</h4>
|
|
<pre>protected boolean resetEdges</pre>
|
|
<div class="block">Specifies if all edge points of traversed edges should be removed.
|
|
Default is true.</div>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
|
<ul class="blockList">
|
|
<li class="blockList"><a name="constructor_detail">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Constructor Detail</h3>
|
|
<a name="mxOrganicLayout(com.mxgraph.view.mxGraph)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>mxOrganicLayout</h4>
|
|
<pre>public mxOrganicLayout(<a href="../../../com/mxgraph/view/mxGraph.html" title="class in com.mxgraph.view">mxGraph</a> graph)</pre>
|
|
<div class="block">Constructor for mxOrganicLayout.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="mxOrganicLayout(com.mxgraph.view.mxGraph, java.awt.geom.Rectangle2D)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockListLast">
|
|
<li class="blockList">
|
|
<h4>mxOrganicLayout</h4>
|
|
<pre>public mxOrganicLayout(<a href="../../../com/mxgraph/view/mxGraph.html" title="class in com.mxgraph.view">mxGraph</a> graph,
|
|
java.awt.geom.Rectangle2D bounds)</pre>
|
|
<div class="block">Constructor for mxOrganicLayout.</div>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<!-- ============ METHOD DETAIL ========== -->
|
|
<ul class="blockList">
|
|
<li class="blockList"><a name="method_detail">
|
|
<!-- -->
|
|
</a>
|
|
<h3>Method Detail</h3>
|
|
<a name="isVertexIgnored(java.lang.Object)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isVertexIgnored</h4>
|
|
<pre>public boolean isVertexIgnored(java.lang.Object vertex)</pre>
|
|
<div class="block">Returns true if the given vertex has no connected edges.</div>
|
|
<dl>
|
|
<dt><strong>Overrides:</strong></dt>
|
|
<dd><code><a href="../../../com/mxgraph/layout/mxGraphLayout.html#isVertexIgnored(java.lang.Object)">isVertexIgnored</a></code> in class <code><a href="../../../com/mxgraph/layout/mxGraphLayout.html" title="class in com.mxgraph.layout">mxGraphLayout</a></code></dd>
|
|
<dt><span class="strong">Parameters:</span></dt><dd><code>vertex</code> - Object that represents the vertex to be tested.</dd>
|
|
<dt><span class="strong">Returns:</span></dt><dd>Returns true if the vertex should be ignored.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="execute(java.lang.Object)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>execute</h4>
|
|
<pre>public void execute(java.lang.Object parent)</pre>
|
|
<div class="block">Implements <mxGraphLayout.execute>.</div>
|
|
<dl>
|
|
<dt><strong>Specified by:</strong></dt>
|
|
<dd><code><a href="../../../com/mxgraph/layout/mxIGraphLayout.html#execute(java.lang.Object)">execute</a></code> in interface <code><a href="../../../com/mxgraph/layout/mxIGraphLayout.html" title="interface in com.mxgraph.layout">mxIGraphLayout</a></code></dd>
|
|
<dt><strong>Overrides:</strong></dt>
|
|
<dd><code><a href="../../../com/mxgraph/layout/mxGraphLayout.html#execute(java.lang.Object)">execute</a></code> in class <code><a href="../../../com/mxgraph/layout/mxGraphLayout.html" title="class in com.mxgraph.layout">mxGraphLayout</a></code></dd>
|
|
<dt><span class="strong">Parameters:</span></dt><dd><code>parent</code> - Parent cell that contains the children to be layed out.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="performRound()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>performRound</h4>
|
|
<pre>protected void performRound()</pre>
|
|
<div class="block">The main round of the algorithm. Firstly, a permutation of nodes
|
|
is created and worked through in that random order. Then, for each node
|
|
a number of point of a circle of radius <code>moveRadius</code> are
|
|
selected and the total energy of the system calculated if that node
|
|
were moved to that new position. If a lower energy position is found
|
|
this is accepted and the algorithm moves onto the next node. There
|
|
may be a slightly lower energy value yet to be found, but forcing
|
|
the loop to check all possible positions adds nearly the current
|
|
processing time again, and for little benefit. Another possible
|
|
strategy would be to take account of the fact that the energy values
|
|
around the circle decrease for half the loop and increase for the
|
|
other, as a general rule. If part of the decrease were seen, then
|
|
when the energy of a node increased, the previous node position was
|
|
almost always the lowest energy position. This adds about two loop
|
|
iterations to the inner loop and only makes sense with 16 tries or more.</div>
|
|
</li>
|
|
</ul>
|
|
<a name="calcEnergyDelta(int, double, double, double, double, double, double)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>calcEnergyDelta</h4>
|
|
<pre>protected double calcEnergyDelta(int index,
|
|
double oldNodeDistribution,
|
|
double oldEdgeDistance,
|
|
double oldEdgeCrossing,
|
|
double oldBorderLine,
|
|
double oldEdgeLength,
|
|
double oldAdditionalFactorsEnergy)</pre>
|
|
<div class="block">Calculates the change in energy for the specified node. The new energy is
|
|
calculated from the cost function methods and the old energy values for
|
|
each cost function are passed in as parameters</div>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>index</code> - The index of the node in the <code>vertices</code> array</dd><dd><code>oldNodeDistribution</code> - The previous node distribution energy cost of this node</dd><dd><code>oldEdgeDistance</code> - The previous edge distance energy cost of this node</dd><dd><code>oldEdgeCrossing</code> - The previous edge crossing energy cost for edges connected to
|
|
this node</dd><dd><code>oldBorderLine</code> - The previous border line energy cost for this node</dd><dd><code>oldEdgeLength</code> - The previous edge length energy cost for edges connected to
|
|
this node</dd><dd><code>oldAdditionalFactorsEnergy</code> - The previous energy cost for additional factors from
|
|
sub-classes</dd>
|
|
<dt><span class="strong">Returns:</span></dt><dd>the delta of the new energy cost to the old energy cost</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getNodeDistribution(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getNodeDistribution</h4>
|
|
<pre>protected double getNodeDistribution(int i)</pre>
|
|
<div class="block">Calculates the energy cost of the specified node relative to all other
|
|
nodes. Basically produces a higher energy the closer nodes are together.</div>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>i</code> - the index of the node in the array <code>v</code></dd>
|
|
<dt><span class="strong">Returns:</span></dt><dd>the total node distribution energy of the specified node</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getBorderline(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getBorderline</h4>
|
|
<pre>protected double getBorderline(int i)</pre>
|
|
<div class="block">This method calculates the energy of the distance of the specified
|
|
node to the notional border of the graph. The energy increases up to
|
|
a limited maximum close to the border and stays at that maximum
|
|
up to and over the border.</div>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>i</code> - the index of the node in the array <code>v</code></dd>
|
|
<dt><span class="strong">Returns:</span></dt><dd>the total border line energy of the specified node</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getEdgeLengthAffectedEdges(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getEdgeLengthAffectedEdges</h4>
|
|
<pre>protected double getEdgeLengthAffectedEdges(int node)</pre>
|
|
<div class="block">Obtains the energy cost function for the specified node being moved.
|
|
This involves calling <code>getEdgeLength</code> for all
|
|
edges connected to the specified node</div>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>node</code> - the node whose connected edges cost functions are to be
|
|
calculated</dd>
|
|
<dt><span class="strong">Returns:</span></dt><dd>the total edge length energy of the connected edges</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getEdgeLength(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getEdgeLength</h4>
|
|
<pre>protected double getEdgeLength(int i)</pre>
|
|
<div class="block">This method calculates the energy due to the length of the specified
|
|
edge. The energy is proportional to the length of the edge, making
|
|
shorter edges preferable in the layout.</div>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>i</code> - the index of the edge in the array <code>e</code></dd>
|
|
<dt><span class="strong">Returns:</span></dt><dd>the total edge length energy of the specified edge</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getEdgeCrossingAffectedEdges(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getEdgeCrossingAffectedEdges</h4>
|
|
<pre>protected double getEdgeCrossingAffectedEdges(int node)</pre>
|
|
<div class="block">Obtains the energy cost function for the specified node being moved.
|
|
This involves calling <code>getEdgeCrossing</code> for all
|
|
edges connected to the specified node</div>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>node</code> - the node whose connected edges cost functions are to be
|
|
calculated</dd>
|
|
<dt><span class="strong">Returns:</span></dt><dd>the total edge crossing energy of the connected edges</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getEdgeCrossing(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getEdgeCrossing</h4>
|
|
<pre>protected double getEdgeCrossing(int i)</pre>
|
|
<div class="block">This method calculates the energy of the distance from the specified
|
|
edge crossing any other edges. Each crossing add a constant factor
|
|
to the total energy</div>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>i</code> - the index of the edge in the array <code>e</code></dd>
|
|
<dt><span class="strong">Returns:</span></dt><dd>the total edge crossing energy of the specified edge</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getEdgeDistanceFromNode(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getEdgeDistanceFromNode</h4>
|
|
<pre>protected double getEdgeDistanceFromNode(int i)</pre>
|
|
<div class="block">This method calculates the energy of the distance between Cells and
|
|
Edges. This version of the edge distance cost calculates the energy
|
|
cost from a specified <strong>node</strong>. The distance cost to all
|
|
unconnected edges is calculated and the total returned.</div>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>i</code> - the index of the node in the array <code>v</code></dd>
|
|
<dt><span class="strong">Returns:</span></dt><dd>the total edge distance energy of the node</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getEdgeDistanceAffectedNodes(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getEdgeDistanceAffectedNodes</h4>
|
|
<pre>protected double getEdgeDistanceAffectedNodes(int node)</pre>
|
|
<div class="block">Obtains the energy cost function for the specified node being moved.
|
|
This involves calling <code>getEdgeDistanceFromEdge</code> for all
|
|
edges connected to the specified node</div>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>node</code> - the node whose connected edges cost functions are to be
|
|
calculated</dd>
|
|
<dt><span class="strong">Returns:</span></dt><dd>the total edge distance energy of the connected edges</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getEdgeDistanceFromEdge(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getEdgeDistanceFromEdge</h4>
|
|
<pre>protected double getEdgeDistanceFromEdge(int i)</pre>
|
|
<div class="block">This method calculates the energy of the distance between Cells and
|
|
Edges. This version of the edge distance cost calculates the energy
|
|
cost from a specified <strong>edge</strong>. The distance cost to all
|
|
unconnected nodes is calculated and the total returned.</div>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>i</code> - the index of the edge in the array <code>e</code></dd>
|
|
<dt><span class="strong">Returns:</span></dt><dd>the total edge distance energy of the edge</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getAdditionFactorsEnergy(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getAdditionFactorsEnergy</h4>
|
|
<pre>protected double getAdditionFactorsEnergy(int i)</pre>
|
|
<div class="block">Hook method to adding additional energy factors into the layout.
|
|
Calculates the energy just for the specified node.</div>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>i</code> - the nodes whose energy is being calculated</dd>
|
|
<dt><span class="strong">Returns:</span></dt><dd>the energy of this node caused by the additional factors</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getRelevantEdges(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getRelevantEdges</h4>
|
|
<pre>protected int[] getRelevantEdges(int cellIndex)</pre>
|
|
<div class="block">Returns all Edges that are not connected to the specified cell</div>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cellIndex</code> - the cell index to which the edges are not connected</dd>
|
|
<dt><span class="strong">Returns:</span></dt><dd>Array of all interesting Edges</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getConnectedEdges(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getConnectedEdges</h4>
|
|
<pre>protected int[] getConnectedEdges(int cellIndex)</pre>
|
|
<div class="block">Returns all Edges that are connected with the specified cell</div>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cellIndex</code> - the cell index to which the edges are connected</dd>
|
|
<dt><span class="strong">Returns:</span></dt><dd>Array of all connected Edges</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="toString()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>toString</h4>
|
|
<pre>public java.lang.String toString()</pre>
|
|
<div class="block">Returns <code>Organic</code>, the name of this algorithm.</div>
|
|
<dl>
|
|
<dt><strong>Overrides:</strong></dt>
|
|
<dd><code>toString</code> in class <code>java.lang.Object</code></dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getAverageNodeArea()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getAverageNodeArea</h4>
|
|
<pre>public double getAverageNodeArea()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the averageNodeArea.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setAverageNodeArea(double)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setAverageNodeArea</h4>
|
|
<pre>public void setAverageNodeArea(double averageNodeArea)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>averageNodeArea</code> - The averageNodeArea to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getBorderLineCostFactor()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getBorderLineCostFactor</h4>
|
|
<pre>public double getBorderLineCostFactor()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the borderLineCostFactor.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setBorderLineCostFactor(double)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setBorderLineCostFactor</h4>
|
|
<pre>public void setBorderLineCostFactor(double borderLineCostFactor)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>borderLineCostFactor</code> - The borderLineCostFactor to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getEdgeCrossingCostFactor()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getEdgeCrossingCostFactor</h4>
|
|
<pre>public double getEdgeCrossingCostFactor()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the edgeCrossingCostFactor.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setEdgeCrossingCostFactor(double)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setEdgeCrossingCostFactor</h4>
|
|
<pre>public void setEdgeCrossingCostFactor(double edgeCrossingCostFactor)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>edgeCrossingCostFactor</code> - The edgeCrossingCostFactor to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getEdgeDistanceCostFactor()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getEdgeDistanceCostFactor</h4>
|
|
<pre>public double getEdgeDistanceCostFactor()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the edgeDistanceCostFactor.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setEdgeDistanceCostFactor(double)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setEdgeDistanceCostFactor</h4>
|
|
<pre>public void setEdgeDistanceCostFactor(double edgeDistanceCostFactor)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>edgeDistanceCostFactor</code> - The edgeDistanceCostFactor to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getEdgeLengthCostFactor()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getEdgeLengthCostFactor</h4>
|
|
<pre>public double getEdgeLengthCostFactor()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the edgeLengthCostFactor.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setEdgeLengthCostFactor(double)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setEdgeLengthCostFactor</h4>
|
|
<pre>public void setEdgeLengthCostFactor(double edgeLengthCostFactor)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>edgeLengthCostFactor</code> - The edgeLengthCostFactor to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getFineTuningRadius()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getFineTuningRadius</h4>
|
|
<pre>public double getFineTuningRadius()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the fineTuningRadius.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setFineTuningRadius(double)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setFineTuningRadius</h4>
|
|
<pre>public void setFineTuningRadius(double fineTuningRadius)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>fineTuningRadius</code> - The fineTuningRadius to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getInitialMoveRadius()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getInitialMoveRadius</h4>
|
|
<pre>public double getInitialMoveRadius()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the initialMoveRadius.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setInitialMoveRadius(double)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setInitialMoveRadius</h4>
|
|
<pre>public void setInitialMoveRadius(double initialMoveRadius)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>initialMoveRadius</code> - The initialMoveRadius to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="isFineTuning()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isFineTuning</h4>
|
|
<pre>public boolean isFineTuning()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the isFineTuning.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setFineTuning(boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setFineTuning</h4>
|
|
<pre>public void setFineTuning(boolean isFineTuning)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>isFineTuning</code> - The isFineTuning to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="isOptimizeBorderLine()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isOptimizeBorderLine</h4>
|
|
<pre>public boolean isOptimizeBorderLine()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the isOptimizeBorderLine.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setOptimizeBorderLine(boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setOptimizeBorderLine</h4>
|
|
<pre>public void setOptimizeBorderLine(boolean isOptimizeBorderLine)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>isOptimizeBorderLine</code> - The isOptimizeBorderLine to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="isOptimizeEdgeCrossing()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isOptimizeEdgeCrossing</h4>
|
|
<pre>public boolean isOptimizeEdgeCrossing()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the isOptimizeEdgeCrossing.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setOptimizeEdgeCrossing(boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setOptimizeEdgeCrossing</h4>
|
|
<pre>public void setOptimizeEdgeCrossing(boolean isOptimizeEdgeCrossing)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>isOptimizeEdgeCrossing</code> - The isOptimizeEdgeCrossing to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="isOptimizeEdgeDistance()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isOptimizeEdgeDistance</h4>
|
|
<pre>public boolean isOptimizeEdgeDistance()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the isOptimizeEdgeDistance.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setOptimizeEdgeDistance(boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setOptimizeEdgeDistance</h4>
|
|
<pre>public void setOptimizeEdgeDistance(boolean isOptimizeEdgeDistance)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>isOptimizeEdgeDistance</code> - The isOptimizeEdgeDistance to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="isOptimizeEdgeLength()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isOptimizeEdgeLength</h4>
|
|
<pre>public boolean isOptimizeEdgeLength()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the isOptimizeEdgeLength.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setOptimizeEdgeLength(boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setOptimizeEdgeLength</h4>
|
|
<pre>public void setOptimizeEdgeLength(boolean isOptimizeEdgeLength)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>isOptimizeEdgeLength</code> - The isOptimizeEdgeLength to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="isOptimizeNodeDistribution()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isOptimizeNodeDistribution</h4>
|
|
<pre>public boolean isOptimizeNodeDistribution()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the isOptimizeNodeDistribution.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setOptimizeNodeDistribution(boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setOptimizeNodeDistribution</h4>
|
|
<pre>public void setOptimizeNodeDistribution(boolean isOptimizeNodeDistribution)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>isOptimizeNodeDistribution</code> - The isOptimizeNodeDistribution to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getMaxIterations()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMaxIterations</h4>
|
|
<pre>public int getMaxIterations()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the maxIterations.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setMaxIterations(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setMaxIterations</h4>
|
|
<pre>public void setMaxIterations(int maxIterations)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxIterations</code> - The maxIterations to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getMinDistanceLimit()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMinDistanceLimit</h4>
|
|
<pre>public double getMinDistanceLimit()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the minDistanceLimit.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setMinDistanceLimit(double)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setMinDistanceLimit</h4>
|
|
<pre>public void setMinDistanceLimit(double minDistanceLimit)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>minDistanceLimit</code> - The minDistanceLimit to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getMinMoveRadius()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMinMoveRadius</h4>
|
|
<pre>public double getMinMoveRadius()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the minMoveRadius.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setMinMoveRadius(double)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setMinMoveRadius</h4>
|
|
<pre>public void setMinMoveRadius(double minMoveRadius)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>minMoveRadius</code> - The minMoveRadius to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getNodeDistributionCostFactor()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getNodeDistributionCostFactor</h4>
|
|
<pre>public double getNodeDistributionCostFactor()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the nodeDistributionCostFactor.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setNodeDistributionCostFactor(double)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setNodeDistributionCostFactor</h4>
|
|
<pre>public void setNodeDistributionCostFactor(double nodeDistributionCostFactor)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>nodeDistributionCostFactor</code> - The nodeDistributionCostFactor to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getRadiusScaleFactor()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getRadiusScaleFactor</h4>
|
|
<pre>public double getRadiusScaleFactor()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the radiusScaleFactor.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setRadiusScaleFactor(double)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setRadiusScaleFactor</h4>
|
|
<pre>public void setRadiusScaleFactor(double radiusScaleFactor)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>radiusScaleFactor</code> - The radiusScaleFactor to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getTriesPerCell()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getTriesPerCell</h4>
|
|
<pre>public int getTriesPerCell()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the triesPerCell.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setTriesPerCell(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setTriesPerCell</h4>
|
|
<pre>public void setTriesPerCell(int triesPerCell)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>triesPerCell</code> - The triesPerCell to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getUnchangedEnergyRoundTermination()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getUnchangedEnergyRoundTermination</h4>
|
|
<pre>public int getUnchangedEnergyRoundTermination()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the unchangedEnergyRoundTermination.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setUnchangedEnergyRoundTermination(int)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setUnchangedEnergyRoundTermination</h4>
|
|
<pre>public void setUnchangedEnergyRoundTermination(int unchangedEnergyRoundTermination)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>unchangedEnergyRoundTermination</code> - The unchangedEnergyRoundTermination to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="getMaxDistanceLimit()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>getMaxDistanceLimit</h4>
|
|
<pre>public double getMaxDistanceLimit()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the maxDistanceLimit.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setMaxDistanceLimit(double)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setMaxDistanceLimit</h4>
|
|
<pre>public void setMaxDistanceLimit(double maxDistanceLimit)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxDistanceLimit</code> - The maxDistanceLimit to set.</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="isApproxNodeDimensions()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isApproxNodeDimensions</h4>
|
|
<pre>public boolean isApproxNodeDimensions()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>the approxNodeDimensions</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setApproxNodeDimensions(boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setApproxNodeDimensions</h4>
|
|
<pre>public void setApproxNodeDimensions(boolean approxNodeDimensions)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>approxNodeDimensions</code> - the approxNodeDimensions to set</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="isDisableEdgeStyle()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isDisableEdgeStyle</h4>
|
|
<pre>public boolean isDisableEdgeStyle()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>the disableEdgeStyle</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setDisableEdgeStyle(boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>setDisableEdgeStyle</h4>
|
|
<pre>public void setDisableEdgeStyle(boolean disableEdgeStyle)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>disableEdgeStyle</code> - the disableEdgeStyle to set</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="isResetEdges()">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockList">
|
|
<li class="blockList">
|
|
<h4>isResetEdges</h4>
|
|
<pre>public boolean isResetEdges()</pre>
|
|
<dl><dt><span class="strong">Returns:</span></dt><dd>the resetEdges</dd></dl>
|
|
</li>
|
|
</ul>
|
|
<a name="setResetEdges(boolean)">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="blockListLast">
|
|
<li class="blockList">
|
|
<h4>setResetEdges</h4>
|
|
<pre>public void setResetEdges(boolean resetEdges)</pre>
|
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>resetEdges</code> - the resetEdges to set</dd></dl>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<!-- ========= END OF CLASS DATA ========= -->
|
|
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
|
<div class="bottomNav"><a name="navbar_bottom">
|
|
<!-- -->
|
|
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
|
|
<!-- -->
|
|
</a>
|
|
<ul class="navList" title="Navigation">
|
|
<li><a href="../../../overview-summary.html">Overview</a></li>
|
|
<li><a href="package-summary.html">Package</a></li>
|
|
<li class="navBarCell1Rev">Class</li>
|
|
<li><a href="class-use/mxOrganicLayout.html">Use</a></li>
|
|
<li><a href="package-tree.html">Tree</a></li>
|
|
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
|
|
<li><a href="../../../index-all.html">Index</a></li>
|
|
<li><a href="../../../help-doc.html">Help</a></li>
|
|
</ul>
|
|
<div class="aboutLanguage"><em><p><b>mxGraph 3.1.1.1</b></p></em></div>
|
|
</div>
|
|
<div class="subNav">
|
|
<ul class="navList">
|
|
<li><a href="../../../com/mxgraph/layout/mxIGraphLayout.html" title="interface in com.mxgraph.layout"><span class="strong">Prev Class</span></a></li>
|
|
<li><a href="../../../com/mxgraph/layout/mxOrganicLayout.CellWrapper.html" title="class in com.mxgraph.layout"><span class="strong">Next Class</span></a></li>
|
|
</ul>
|
|
<ul class="navList">
|
|
<li><a href="../../../index.html?com/mxgraph/layout/mxOrganicLayout.html" target="_top">Frames</a></li>
|
|
<li><a href="mxOrganicLayout.html" target="_top">No Frames</a></li>
|
|
</ul>
|
|
<ul class="navList" id="allclasses_navbar_bottom">
|
|
<li><a href="../../../allclasses-noframe.html">All Classes</a></li>
|
|
</ul>
|
|
<div>
|
|
<script type="text/javascript"><!--
|
|
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
|
if(window==top) {
|
|
allClassesLink.style.display = "block";
|
|
}
|
|
else {
|
|
allClassesLink.style.display = "none";
|
|
}
|
|
//-->
|
|
</script>
|
|
</div>
|
|
<div>
|
|
<ul class="subNavList">
|
|
<li>Summary: </li>
|
|
<li><a href="#nested_class_summary">Nested</a> | </li>
|
|
<li><a href="#field_summary">Field</a> | </li>
|
|
<li><a href="#constructor_summary">Constr</a> | </li>
|
|
<li><a href="#method_summary">Method</a></li>
|
|
</ul>
|
|
<ul class="subNavList">
|
|
<li>Detail: </li>
|
|
<li><a href="#field_detail">Field</a> | </li>
|
|
<li><a href="#constructor_detail">Constr</a> | </li>
|
|
<li><a href="#method_detail">Method</a></li>
|
|
</ul>
|
|
</div>
|
|
<a name="skip-navbar_bottom">
|
|
<!-- -->
|
|
</a></div>
|
|
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
|
<p class="legalCopy"><small><font size=1>Copyright (c) 2010 <a href="http://www.mxgraph.com/"
|
|
target="_blank">Gaudenz Alder, David Benson</a>. All rights reserved.</font></small></p>
|
|
</body>
|
|
</html>
|