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