2012-05-21 20:32:26 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2014-04-01 11:30:48 +00:00
<!-- NewPage -->
< html lang = "en" >
< head >
2016-04-15 12:47:44 +00:00
<!-- Generated by javadoc (version 1.7.0_51) on Fri Apr 15 14:45:33 CEST 2016 -->
< title > mxOrganicLayout (mxGraph 3.5.1.2 API Specification)< / title >
< meta name = "date" content = "2016-04-15" >
2014-04-01 11:30:48 +00:00
< link rel = "stylesheet" type = "text/css" href = "../../../stylesheet.css" title = "Style" >
< / head >
< body >
< script type = "text/javascript" > < ! - -
2012-05-21 20:32:26 +00:00
if (location.href.indexOf('is-external=true') == -1) {
2016-04-15 12:47:44 +00:00
parent.document.title="mxOrganicLayout (mxGraph 3.5.1.2 API Specification)";
2012-05-21 20:32:26 +00:00
}
2014-04-01 11:30:48 +00:00
//-->
< / script >
< noscript >
< div > JavaScript is disabled on your browser.< / div >
< / noscript >
2012-05-21 20:32:26 +00:00
<!-- ========= START OF TOP NAVBAR ======= -->
2014-04-01 11:30:48 +00:00
< 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 >
2016-04-15 12:47:44 +00:00
< div class = "aboutLanguage" > < em > < p > < b > mxGraph 3.5.1.2< / b > < / p > < / em > < / div >
2014-04-01 11:30:48 +00:00
< / 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");
2012-05-21 20:32:26 +00:00
if(window==top) {
2014-04-01 11:30:48 +00:00
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
2012-05-21 20:32:26 +00:00
}
//-->
2014-04-01 11:30:48 +00:00
< / 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 >
2012-05-21 20:32:26 +00:00
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
2014-04-01 11:30:48 +00:00
< 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" >
2014-11-28 08:55:09 +00:00
< li > < a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title = "class or interface in java.lang" > java.lang.Object< / a > < / li >
2014-04-01 11:30:48 +00:00
< 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
2012-05-21 20:32:26 +00:00
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
2014-04-01 11:30:48 +00:00
that a finer granularity is required.< / div >
< / li >
< / ul >
< / div >
< div class = "summary" >
< ul class = "blockList" >
< li class = "blockList" >
2012-05-21 20:32:26 +00:00
<!-- ======== NESTED CLASS SUMMARY ======== -->
2014-04-01 11:30:48 +00:00
< 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
2012-05-21 20:32:26 +00:00
This involves allowing the distance between nodes and edges to be
2014-04-01 11:30:48 +00:00
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 >
2012-05-21 20:32:26 +00:00
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
2014-04-01 11:30:48 +00:00
< 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,
2014-11-28 08:55:09 +00:00
< a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/awt/geom/Rectangle2D.html?is-external=true" title = "class or interface in java.awt.geom" > Rectangle2D< / a > bounds)< / code >
2014-04-01 11:30:48 +00:00
< div class = "block" > Constructor for mxOrganicLayout.< / div >
< / td >
< / tr >
< / table >
< / li >
< / ul >
2012-05-21 20:32:26 +00:00
<!-- ========== METHOD SUMMARY =========== -->
2014-04-01 11:30:48 +00:00
< 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 >
2014-11-28 08:55:09 +00:00
< td class = "colLast" > < code > < strong > < a href = "../../../com/mxgraph/layout/mxOrganicLayout.html#execute(java.lang.Object)" > execute< / a > < / strong > (< a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title = "class or interface in java.lang" > Object< / a > parent)< / code >
2014-04-01 11:30:48 +00:00
< 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 >
2014-11-28 08:55:09 +00:00
< td class = "colLast" > < code > < strong > < a href = "../../../com/mxgraph/layout/mxOrganicLayout.html#isVertexIgnored(java.lang.Object)" > isVertexIgnored< / a > < / strong > (< a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title = "class or interface in java.lang" > Object< / a > vertex)< / code >
2014-04-01 11:30:48 +00:00
< 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" >
2014-11-28 08:55:09 +00:00
< td class = "colFirst" > < code > < a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title = "class or interface in java.lang" > String< / a > < / code > < / td >
2014-04-01 11:30:48 +00:00
< 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 >
2014-11-28 08:55:09 +00:00
< h3 > Methods inherited from class java.lang.< a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title = "class or interface in java.lang" > Object< / a > < / h3 >
< code > < a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title = "class or interface in java.lang" > clone< / a > , < a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title = "class or interface in java.lang" > equals< / a > , < a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title = "class or interface in java.lang" > finalize< / a > , < a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title = "class or interface in java.lang" > getClass< / a > , < a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title = "class or interface in java.lang" > hashCode< / a > , < a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title = "class or interface in java.lang" > notify< / a > , < a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title = "class or interface in java.lang" > notifyAll< / a > , < a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title = "class or interface in java.lang" > wait< / a > , < a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title = "class or interface in java.lang" > wait< / a > , < a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title = "class or interface in java.lang" > wait< / a > < / code > < / li >
2014-04-01 11:30:48 +00:00
< / ul >
< / li >
< / ul >
< / li >
< / ul >
< / div >
< div class = "details" >
< ul class = "blockList" >
< li class = "blockList" >
2012-05-21 20:32:26 +00:00
<!-- ============ FIELD DETAIL =========== -->
2014-04-01 11:30:48 +00:00
< 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
2012-05-21 20:32:26 +00:00
as an energy cost function. This function is CPU intensive and is best
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
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
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
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
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
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
2014-04-01 11:30:48 +00:00
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 >
2012-05-21 20:32:26 +00:00
is not set this value mutiplied by the number of nodes to find
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
This involves allowing the distance between nodes and edges to be
taken into account in the total energy calculation. If this is set to
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
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
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
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
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
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
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
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
2014-04-01 11:30:48 +00:00
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.
2012-05-21 20:32:26 +00:00
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
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
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
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
the radius squared of the smaller dimension is used. Set to false the
radiusSquared variable of the CellWrapper contains the width squared
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
are tested for a lower energy around each vertex. The vector
of the combined x and y normals are multipled by the current
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
are tested for a lower energy around each vertex. The vector
of the combined x and y normals are multipled by the current
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
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
2014-04-01 11:30:48 +00:00
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 >
2012-05-21 20:32:26 +00:00
<!-- ========= CONSTRUCTOR DETAIL ======== -->
2014-04-01 11:30:48 +00:00
< 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,
2014-11-28 08:55:09 +00:00
< a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/awt/geom/Rectangle2D.html?is-external=true" title = "class or interface in java.awt.geom" > Rectangle2D< / a > bounds)< / pre >
2014-04-01 11:30:48 +00:00
< div class = "block" > Constructor for mxOrganicLayout.< / div >
< / li >
< / ul >
< / li >
< / ul >
2012-05-21 20:32:26 +00:00
<!-- ============ METHOD DETAIL ========== -->
2014-04-01 11:30:48 +00:00
< 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 >
2014-11-28 08:55:09 +00:00
< pre > public boolean isVertexIgnored(< a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title = "class or interface in java.lang" > Object< / a > vertex)< / pre >
2014-04-01 11:30:48 +00:00
< 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 >
2014-11-28 08:55:09 +00:00
< pre > public void execute(< a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title = "class or interface in java.lang" > Object< / a > parent)< / pre >
2014-04-01 11:30:48 +00:00
< 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
2012-05-21 20:32:26 +00:00
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
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
calculated from the cost function methods and the old energy values for
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
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
2014-04-01 11:30:48 +00:00
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.
2012-05-21 20:32:26 +00:00
This involves calling < code > getEdgeLength< / code > for all
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
edge. The energy is proportional to the length of the edge, making
2014-04-01 11:30:48 +00:00
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.
2012-05-21 20:32:26 +00:00
This involves calling < code > getEdgeCrossing< / code > for all
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
edge crossing any other edges. Each crossing add a constant factor
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
Edges. This version of the edge distance cost calculates the energy
cost from a specified < strong > node< / strong > . The distance cost to all
2014-04-01 11:30:48 +00:00
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.
2012-05-21 20:32:26 +00:00
This involves calling < code > getEdgeDistanceFromEdge< / code > for all
2014-04-01 11:30:48 +00:00
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
2012-05-21 20:32:26 +00:00
Edges. This version of the edge distance cost calculates the energy
cost from a specified < strong > edge< / strong > . The distance cost to all
2014-04-01 11:30:48 +00:00
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 >
2014-11-28 08:55:09 +00:00
< pre > public < a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title = "class or interface in java.lang" > String< / a > toString()< / pre >
2014-04-01 11:30:48 +00:00
< div class = "block" > Returns < code > Organic< / code > , the name of this algorithm.< / div >
< dl >
< dt > < strong > Overrides:< / strong > < / dt >
2014-11-28 08:55:09 +00:00
< dd > < code > < a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title = "class or interface in java.lang" > toString< / a > < / code > in class < code > < a href = "http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title = "class or interface in java.lang" > Object< / a > < / code > < / dd >
2014-04-01 11:30:48 +00:00
< / 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 >
2012-05-21 20:32:26 +00:00
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
2014-04-01 11:30:48 +00:00
< 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 >
2016-04-15 12:47:44 +00:00
< div class = "aboutLanguage" > < em > < p > < b > mxGraph 3.5.1.2< / b > < / p > < / em > < / div >
2014-04-01 11:30:48 +00:00
< / 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");
2012-05-21 20:32:26 +00:00
if(window==top) {
2014-04-01 11:30:48 +00:00
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
2012-05-21 20:32:26 +00:00
}
//-->
2014-04-01 11:30:48 +00:00
< / 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 >
2012-05-21 20:32:26 +00:00
<!-- ======== END OF BOTTOM NAVBAR ======= -->
2014-04-01 11:30:48 +00:00
< 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 >