maxGraph/dotnet/docs/html/classcom_1_1mxgraph_1_1mxFa...

710 lines
40 KiB
HTML
Raw Normal View History

2012-05-21 20:32:26 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>mxGraph: com::mxgraph::mxFastOrganicLayout Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul>
</div>
<div class="navpath"><b>com</b>::<b>mxgraph</b>::<a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html">mxFastOrganicLayout</a>
</div>
</div>
<div class="contents">
<h1>com::mxgraph::mxFastOrganicLayout Class Reference</h1><!-- doxytag: class="com::mxgraph::mxFastOrganicLayout" --><!-- doxytag: inherits="com::mxgraph::mxIGraphLayout" -->
<p>Fast organic layout algorithm.
<a href="#_details">More...</a></p>
<div class="dynheader">
Inheritance diagram for com::mxgraph::mxFastOrganicLayout:</div>
<div class="dynsection">
<div class="center">
<img src="classcom_1_1mxgraph_1_1mxFastOrganicLayout.png" usemap="#com::mxgraph::mxFastOrganicLayout_map" alt=""/>
<map id="com::mxgraph::mxFastOrganicLayout_map" name="com::mxgraph::mxFastOrganicLayout_map">
<area href="interfacecom_1_1mxgraph_1_1mxIGraphLayout.html" alt="com::mxgraph::mxIGraphLayout" shape="rect" coords="0,0,218,24"/>
</map>
</div>
</div>
<p><a href="classcom_1_1mxgraph_1_1mxFastOrganicLayout-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a0cdd8ebebc894870a02f213ea17fceeb">mxFastOrganicLayout</a> (<a class="el" href="classcom_1_1mxgraph_1_1mxGraph.html">mxGraph</a> <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a99a53986be7fee5b602032be1e5f51d4">graph</a>)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs a new fast organic layout for the specified graph. <a href="#a0cdd8ebebc894870a02f213ea17fceeb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#acb90e90ba2f0620618d223ee518420fa">IsCellIgnored</a> (Object cell)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the given cell should be ignored by the layout algorithm. This implementation returns false if the cell is a vertex and has at least one connected edge. <a href="#acb90e90ba2f0620618d223ee518420fa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a3a6d6b7697d013125bef0acaadd7d179">move</a> (Object cell, double x, double y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Notified when a cell is being moved in a parent that has automatic layout to update the cell state (eg. index) so that the outcome of the layou will position the vertex as close to the point (x, y) as possible. <a href="#a3a6d6b7697d013125bef0acaadd7d179"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#af9dae378277ec3bd6c780e66e653b127">execute</a> (Object parent)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Executes the fast organic layout. <a href="#af9dae378277ec3bd6c780e66e653b127"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#adf96f4af2d6db40d8440c45c88a8eb42">reduceTemperature</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reduces the temperature of the layout from an initial setting in a linear fashion to zero. <a href="#adf96f4af2d6db40d8440c45c88a8eb42"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#ab1ec482cc537816e5edd99cd3229c8c8">calcPositions</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Takes the displacements calculated for each cell and applies them to the local cache of cell positions. Limits the displacement to the current temperature. <a href="#ab1ec482cc537816e5edd99cd3229c8c8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#aab8b33a938819900649672628d79fcc3">calcAttraction</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates the attractive forces between all laid out nodes linked by edges. <a href="#aab8b33a938819900649672628d79fcc3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a8d5678f4bc6e2143d8cd39f81edc7f3c">calcRepulsion</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates the repulsive forces between all laid out nodes. <a href="#a8d5678f4bc6e2143d8cd39f81edc7f3c"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcom_1_1mxgraph_1_1mxGraph.html">mxGraph</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a99a53986be7fee5b602032be1e5f51d4">graph</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the enclosing graph. <a href="#a99a53986be7fee5b602032be1e5f51d4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a7f82df0c8421273c5134517403580514">forceConstant</a> = 50</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The force constant by which the attractive forces are divided and the replusive forces are multiple by the square of. The value equates to the average radius there is of free space around each node. Default is 50. <a href="#a7f82df0c8421273c5134517403580514"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#aa598941798201a1fa8830f6598478340">forceConstantSquared</a> = 0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cache of forceConstant^2 for performance. <a href="#aa598941798201a1fa8830f6598478340"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#abb7b555da3232233b8d88605ec8a3065">minDistanceLimit</a> = 2</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Minimal distance limit. Default is 2. Prevents of dividing by zero. <a href="#abb7b555da3232233b8d88605ec8a3065"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a7eee165d1cd46198cd0afd3683846dc0">minDistanceLimitSquared</a> = 0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cached version of minDistanceLimit squared. <a href="#a7eee165d1cd46198cd0afd3683846dc0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#acde3bbda33df34ebcf72bb51b24c0fd2">initialTemp</a> = 200</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start value of temperature. Default is 200. <a href="#acde3bbda33df34ebcf72bb51b24c0fd2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#ab361f5308d1d48d3de5f5f4520a37b58">temperature</a> = 0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Temperature to limit displacement at later stages of layout. <a href="#ab361f5308d1d48d3de5f5f4520a37b58"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#af4757aacb4d721e8700c5b940d57c6a8">maxIterations</a> = 0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Total number of iterations to run the layout though. <a href="#af4757aacb4d721e8700c5b940d57c6a8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a7912d316ac33da47579fdd3b6a590abc">iteration</a> = 0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Current iteration count. <a href="#a7912d316ac33da47579fdd3b6a590abc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Object[]&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a46527e41184476f1b59fe00ca1218dd1">vertexArray</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An array of all vertices to be laid out. <a href="#a46527e41184476f1b59fe00ca1218dd1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double[]&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#ab622ac3cab6a511c09c9bc9c31dbc3f8">dispX</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An array of locally stored X co-ordinate displacements for the vertices. <a href="#ab622ac3cab6a511c09c9bc9c31dbc3f8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double[]&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a10d7ba367f8af2dc03be88cf8f955c21">dispY</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An array of locally stored Y co-ordinate displacements for the vertices. <a href="#a10d7ba367f8af2dc03be88cf8f955c21"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double[][]&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#ae974dc7272a8a74d0c9abec809e543bd">cellLocation</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An array of locally stored co-ordinate positions for the vertices. <a href="#ae974dc7272a8a74d0c9abec809e543bd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double[]&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#ab408033234dd280872595012e1bbf1e2">radius</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The approximate radius of each cell, nodes only. <a href="#ab408033234dd280872595012e1bbf1e2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double[]&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#acb1741efc08f1bc825dc98ae4877fe92">radiusSquared</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The approximate radius squared of each cell, nodes only. <a href="#acb1741efc08f1bc825dc98ae4877fe92"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool[]&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#ab68c9139dbaa98a8e3307c7b0f35a7e0">isMoveable</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Array of booleans representing the movable states of the vertices. <a href="#ab68c9139dbaa98a8e3307c7b0f35a7e0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int[][]&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a9d25658bf242ccfd7f261c4b849fd6c1">neighbours</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Local copy of cell neighbours. <a href="#a9d25658bf242ccfd7f261c4b849fd6c1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a8fc7192201e0c121dd01024dc1793b79">allowedToRun</a> = true</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Boolean flag that specifies if the layout is allowed to run. If this is set to false, then the layout exits in the following iteration. <a href="#a8fc7192201e0c121dd01024dc1793b79"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Dictionary&lt; object, int &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a777007999207d81a1a737ef92777a408">indices</a> = new Dictionary&lt;object, int&gt;()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maps from vertices to indices. <a href="#a777007999207d81a1a737ef92777a408"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Random&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#aeb4135bb0af32e37eccdf4d9602ac884">random</a> = new Random()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Random number generator. <a href="#aeb4135bb0af32e37eccdf4d9602ac884"></a><br/></td></tr>
<tr><td colspan="2"><h2>Properties</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#ab926409f7f7f7022b5e12ca5225c0e7d">IsAllowedToRun</a><code> [get, set]</code></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flag to stop a running layout run. <a href="#ab926409f7f7f7022b5e12ca5225c0e7d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#ade1c6ceb16929e0736db8419222752cd">MaxIterations</a><code> [get, set]</code></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum number of iterations. <a href="#ade1c6ceb16929e0736db8419222752cd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a12d4bcd993ca7d09c179c9bd6235e7c6">ForceConstant</a><code> [get, set]</code></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force constant to be used for the springs. <a href="#a12d4bcd993ca7d09c179c9bd6235e7c6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a8e19280f5a5c4748dbba27db9b62dfc6">MinDistanceLimit</a><code> [get, set]</code></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Minimum distance between nodes. <a href="#a8e19280f5a5c4748dbba27db9b62dfc6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#ac2659499c12a2967694b2bcec28dcb48">InitialTemp</a><code> [get, set]</code></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initial temperature. <a href="#ac2659499c12a2967694b2bcec28dcb48"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Fast organic layout algorithm. </p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a0cdd8ebebc894870a02f213ea17fceeb"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::mxFastOrganicLayout" ref="a0cdd8ebebc894870a02f213ea17fceeb" args="(mxGraph graph)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">com::mxgraph::mxFastOrganicLayout::mxFastOrganicLayout </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcom_1_1mxgraph_1_1mxGraph.html">mxGraph</a>&nbsp;</td>
<td class="paramname"> <em>graph</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructs a new fast organic layout for the specified graph. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>graph</em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aab8b33a938819900649672628d79fcc3"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::calcAttraction" ref="aab8b33a938819900649672628d79fcc3" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void com::mxgraph::mxFastOrganicLayout::calcAttraction </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline, protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Calculates the attractive forces between all laid out nodes linked by edges. </p>
</div>
</div>
<a class="anchor" id="ab1ec482cc537816e5edd99cd3229c8c8"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::calcPositions" ref="ab1ec482cc537816e5edd99cd3229c8c8" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void com::mxgraph::mxFastOrganicLayout::calcPositions </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline, protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Takes the displacements calculated for each cell and applies them to the local cache of cell positions. Limits the displacement to the current temperature. </p>
</div>
</div>
<a class="anchor" id="a8d5678f4bc6e2143d8cd39f81edc7f3c"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::calcRepulsion" ref="a8d5678f4bc6e2143d8cd39f81edc7f3c" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void com::mxgraph::mxFastOrganicLayout::calcRepulsion </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline, protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Calculates the repulsive forces between all laid out nodes. </p>
</div>
</div>
<a class="anchor" id="af9dae378277ec3bd6c780e66e653b127"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::execute" ref="af9dae378277ec3bd6c780e66e653b127" args="(Object parent)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void com::mxgraph::mxFastOrganicLayout::execute </td>
<td>(</td>
<td class="paramtype">Object&nbsp;</td>
<td class="paramname"> <em>parent</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Executes the fast organic layout. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>parent</em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfacecom_1_1mxgraph_1_1mxIGraphLayout.html#a02f76b81716fa481fa9758cebb9f3c57">com::mxgraph::mxIGraphLayout</a>.</p>
</div>
</div>
<a class="anchor" id="acb90e90ba2f0620618d223ee518420fa"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::IsCellIgnored" ref="acb90e90ba2f0620618d223ee518420fa" args="(Object cell)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool com::mxgraph::mxFastOrganicLayout::IsCellIgnored </td>
<td>(</td>
<td class="paramtype">Object&nbsp;</td>
<td class="paramname"> <em>cell</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns true if the given cell should be ignored by the layout algorithm. This implementation returns false if the cell is a vertex and has at least one connected edge. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>cell</em>&nbsp;</td><td>Object that represents the cell.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns true if the given cell should be ignored.</dd></dl>
</div>
</div>
<a class="anchor" id="a3a6d6b7697d013125bef0acaadd7d179"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::move" ref="a3a6d6b7697d013125bef0acaadd7d179" args="(Object cell, double x, double y)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void com::mxgraph::mxFastOrganicLayout::move </td>
<td>(</td>
<td class="paramtype">Object&nbsp;</td>
<td class="paramname"> <em>cell</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>y</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Notified when a cell is being moved in a parent that has automatic layout to update the cell state (eg. index) so that the outcome of the layou will position the vertex as close to the point (x, y) as possible. </p>
<p>Not yet implemented.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>cell</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfacecom_1_1mxgraph_1_1mxIGraphLayout.html#aa7f61ebc0e14a39947ae016393501309">com::mxgraph::mxIGraphLayout</a>.</p>
</div>
</div>
<a class="anchor" id="adf96f4af2d6db40d8440c45c88a8eb42"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::reduceTemperature" ref="adf96f4af2d6db40d8440c45c88a8eb42" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void com::mxgraph::mxFastOrganicLayout::reduceTemperature </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline, protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Reduces the temperature of the layout from an initial setting in a linear fashion to zero. </p>
</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a8fc7192201e0c121dd01024dc1793b79"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::allowedToRun" ref="a8fc7192201e0c121dd01024dc1793b79" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a8fc7192201e0c121dd01024dc1793b79">com::mxgraph::mxFastOrganicLayout::allowedToRun</a> = true<code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Boolean flag that specifies if the layout is allowed to run. If this is set to false, then the layout exits in the following iteration. </p>
</div>
</div>
<a class="anchor" id="ae974dc7272a8a74d0c9abec809e543bd"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::cellLocation" ref="ae974dc7272a8a74d0c9abec809e543bd" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double [][] <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#ae974dc7272a8a74d0c9abec809e543bd">com::mxgraph::mxFastOrganicLayout::cellLocation</a><code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>An array of locally stored co-ordinate positions for the vertices. </p>
</div>
</div>
<a class="anchor" id="ab622ac3cab6a511c09c9bc9c31dbc3f8"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::dispX" ref="ab622ac3cab6a511c09c9bc9c31dbc3f8" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double [] <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#ab622ac3cab6a511c09c9bc9c31dbc3f8">com::mxgraph::mxFastOrganicLayout::dispX</a><code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>An array of locally stored X co-ordinate displacements for the vertices. </p>
</div>
</div>
<a class="anchor" id="a10d7ba367f8af2dc03be88cf8f955c21"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::dispY" ref="a10d7ba367f8af2dc03be88cf8f955c21" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double [] <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a10d7ba367f8af2dc03be88cf8f955c21">com::mxgraph::mxFastOrganicLayout::dispY</a><code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>An array of locally stored Y co-ordinate displacements for the vertices. </p>
</div>
</div>
<a class="anchor" id="a7f82df0c8421273c5134517403580514"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::forceConstant" ref="a7f82df0c8421273c5134517403580514" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a7f82df0c8421273c5134517403580514">com::mxgraph::mxFastOrganicLayout::forceConstant</a> = 50<code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The force constant by which the attractive forces are divided and the replusive forces are multiple by the square of. The value equates to the average radius there is of free space around each node. Default is 50. </p>
</div>
</div>
<a class="anchor" id="aa598941798201a1fa8830f6598478340"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::forceConstantSquared" ref="aa598941798201a1fa8830f6598478340" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#aa598941798201a1fa8830f6598478340">com::mxgraph::mxFastOrganicLayout::forceConstantSquared</a> = 0<code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Cache of forceConstant^2 for performance. </p>
</div>
</div>
<a class="anchor" id="a99a53986be7fee5b602032be1e5f51d4"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::graph" ref="a99a53986be7fee5b602032be1e5f51d4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcom_1_1mxgraph_1_1mxGraph.html">mxGraph</a> <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a99a53986be7fee5b602032be1e5f51d4">com::mxgraph::mxFastOrganicLayout::graph</a><code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Holds the enclosing graph. </p>
</div>
</div>
<a class="anchor" id="a777007999207d81a1a737ef92777a408"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::indices" ref="a777007999207d81a1a737ef92777a408" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Dictionary&lt;object, int&gt; <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a777007999207d81a1a737ef92777a408">com::mxgraph::mxFastOrganicLayout::indices</a> = new Dictionary&lt;object, int&gt;()<code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Maps from vertices to indices. </p>
</div>
</div>
<a class="anchor" id="acde3bbda33df34ebcf72bb51b24c0fd2"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::initialTemp" ref="acde3bbda33df34ebcf72bb51b24c0fd2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#acde3bbda33df34ebcf72bb51b24c0fd2">com::mxgraph::mxFastOrganicLayout::initialTemp</a> = 200<code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Start value of temperature. Default is 200. </p>
</div>
</div>
<a class="anchor" id="ab68c9139dbaa98a8e3307c7b0f35a7e0"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::isMoveable" ref="ab68c9139dbaa98a8e3307c7b0f35a7e0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool [] <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#ab68c9139dbaa98a8e3307c7b0f35a7e0">com::mxgraph::mxFastOrganicLayout::isMoveable</a><code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Array of booleans representing the movable states of the vertices. </p>
</div>
</div>
<a class="anchor" id="a7912d316ac33da47579fdd3b6a590abc"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::iteration" ref="a7912d316ac33da47579fdd3b6a590abc" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a7912d316ac33da47579fdd3b6a590abc">com::mxgraph::mxFastOrganicLayout::iteration</a> = 0<code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Current iteration count. </p>
</div>
</div>
<a class="anchor" id="af4757aacb4d721e8700c5b940d57c6a8"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::maxIterations" ref="af4757aacb4d721e8700c5b940d57c6a8" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#af4757aacb4d721e8700c5b940d57c6a8">com::mxgraph::mxFastOrganicLayout::maxIterations</a> = 0<code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Total number of iterations to run the layout though. </p>
</div>
</div>
<a class="anchor" id="abb7b555da3232233b8d88605ec8a3065"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::minDistanceLimit" ref="abb7b555da3232233b8d88605ec8a3065" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#abb7b555da3232233b8d88605ec8a3065">com::mxgraph::mxFastOrganicLayout::minDistanceLimit</a> = 2<code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Minimal distance limit. Default is 2. Prevents of dividing by zero. </p>
</div>
</div>
<a class="anchor" id="a7eee165d1cd46198cd0afd3683846dc0"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::minDistanceLimitSquared" ref="a7eee165d1cd46198cd0afd3683846dc0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a7eee165d1cd46198cd0afd3683846dc0">com::mxgraph::mxFastOrganicLayout::minDistanceLimitSquared</a> = 0<code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Cached version of minDistanceLimit squared. </p>
</div>
</div>
<a class="anchor" id="a9d25658bf242ccfd7f261c4b849fd6c1"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::neighbours" ref="a9d25658bf242ccfd7f261c4b849fd6c1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int [][] <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a9d25658bf242ccfd7f261c4b849fd6c1">com::mxgraph::mxFastOrganicLayout::neighbours</a><code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Local copy of cell neighbours. </p>
</div>
</div>
<a class="anchor" id="ab408033234dd280872595012e1bbf1e2"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::radius" ref="ab408033234dd280872595012e1bbf1e2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double [] <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#ab408033234dd280872595012e1bbf1e2">com::mxgraph::mxFastOrganicLayout::radius</a><code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The approximate radius of each cell, nodes only. </p>
</div>
</div>
<a class="anchor" id="acb1741efc08f1bc825dc98ae4877fe92"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::radiusSquared" ref="acb1741efc08f1bc825dc98ae4877fe92" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double [] <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#acb1741efc08f1bc825dc98ae4877fe92">com::mxgraph::mxFastOrganicLayout::radiusSquared</a><code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The approximate radius squared of each cell, nodes only. </p>
</div>
</div>
<a class="anchor" id="aeb4135bb0af32e37eccdf4d9602ac884"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::random" ref="aeb4135bb0af32e37eccdf4d9602ac884" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Random <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#aeb4135bb0af32e37eccdf4d9602ac884">com::mxgraph::mxFastOrganicLayout::random</a> = new Random()<code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Random number generator. </p>
</div>
</div>
<a class="anchor" id="ab361f5308d1d48d3de5f5f4520a37b58"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::temperature" ref="ab361f5308d1d48d3de5f5f4520a37b58" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#ab361f5308d1d48d3de5f5f4520a37b58">com::mxgraph::mxFastOrganicLayout::temperature</a> = 0<code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Temperature to limit displacement at later stages of layout. </p>
</div>
</div>
<a class="anchor" id="a46527e41184476f1b59fe00ca1218dd1"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::vertexArray" ref="a46527e41184476f1b59fe00ca1218dd1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Object [] <a class="el" href="classcom_1_1mxgraph_1_1mxFastOrganicLayout.html#a46527e41184476f1b59fe00ca1218dd1">com::mxgraph::mxFastOrganicLayout::vertexArray</a><code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>An array of all vertices to be laid out. </p>
</div>
</div>
<hr/><h2>Property Documentation</h2>
<a class="anchor" id="a12d4bcd993ca7d09c179c9bd6235e7c6"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::ForceConstant" ref="a12d4bcd993ca7d09c179c9bd6235e7c6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double com::mxgraph::mxFastOrganicLayout::ForceConstant<code> [get, set]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Force constant to be used for the springs. </p>
</div>
</div>
<a class="anchor" id="ac2659499c12a2967694b2bcec28dcb48"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::InitialTemp" ref="ac2659499c12a2967694b2bcec28dcb48" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double com::mxgraph::mxFastOrganicLayout::InitialTemp<code> [get, set]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Initial temperature. </p>
</div>
</div>
<a class="anchor" id="ab926409f7f7f7022b5e12ca5225c0e7d"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::IsAllowedToRun" ref="ab926409f7f7f7022b5e12ca5225c0e7d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool com::mxgraph::mxFastOrganicLayout::IsAllowedToRun<code> [get, set]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Flag to stop a running layout run. </p>
</div>
</div>
<a class="anchor" id="ade1c6ceb16929e0736db8419222752cd"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::MaxIterations" ref="ade1c6ceb16929e0736db8419222752cd" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int com::mxgraph::mxFastOrganicLayout::MaxIterations<code> [get, set]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Maximum number of iterations. </p>
</div>
</div>
<a class="anchor" id="a8e19280f5a5c4748dbba27db9b62dfc6"></a><!-- doxytag: member="com::mxgraph::mxFastOrganicLayout::MinDistanceLimit" ref="a8e19280f5a5c4748dbba27db9b62dfc6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double com::mxgraph::mxFastOrganicLayout::MinDistanceLimit<code> [get, set]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Minimum distance between nodes. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/layout/mxFastOrganicLayout.cs</li>
</ul>
</div>
2012-07-31 14:06:36 +00:00
<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue Jul 31 15:03:32 2012 for mxGraph by&nbsp;
2012-05-21 20:32:26 +00:00
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>