<divid=Content><divclass="CClass"><divclass=CTopicid=MainTopic><h1class=CTitle><aname="mxRadialTreeLayout"></a>mxRadialTreeLayout</h1><divclass=CBody><p>Extends <ahref="mxGraphLayout-js.html#mxGraphLayout"class=LClassid=link21onMouseOver="ShowTip(event, 'tt1', 'link21')"onMouseOut="HideTip('tt1')">mxGraphLayout</a> to implement a radial tree algorithm. This layout is suitable for graphs that have no cycles (trees). Vertices that are not connected to the tree will be ignored by this layout.</p><h4class=CHeading>Example</h4><blockquote><preclass="prettyprint">var layout = new mxRadialTreeLayout(graph);
layout.execute(graph.getDefaultParent());</pre></blockquote><!--START_ND_SUMMARY--><divclass=Summary><divclass=STitle>Summary</div><divclass=SBorder><tableborder=0cellspacing=0cellpadding=0class=STable><trclass="SMain"><tdclass=SEntry><ahref="#mxRadialTreeLayout">mxRadialTreeLayout</a></td><tdclass=SDescription>Extends <ahref="mxGraphLayout-js.html#mxGraphLayout"class=LClassid=link1onMouseOver="ShowTip(event, 'tt1', 'link1')"onMouseOut="HideTip('tt1')">mxGraphLayout</a> to implement a radial tree algorithm. </td></tr><trclass="SGroup SIndent1"><tdclass=SEntry><ahref="#mxRadialTreeLayout.Functions">Functions</a></td><tdclass=SDescription></td></tr><trclass="SFunction SIndent2 SMarked"><tdclass=SEntry><ahref="#mxRadialTreeLayout.mxRadialTreeLayout"id=link2onMouseOver="ShowTip(event, 'tt2', 'link2')"onMouseOut="HideTip('tt2')">mxRadialTreeLayout</a></td><tdclass=SDescription>Constructs a new radial tree layout for the specified graph</td></tr><trclass="SGroup SIndent1"><tdclass=SEntry><ahref="#mxRadialTreeLayout.Variables">Variables</a></td><tdclass=SDescription></td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxRadialTreeLayout.angleOffset"id=link3onMouseOver="ShowTip(event, 'tt3', 'link3')"onMouseOut="HideTip('tt3')">angleOffset</a></td><tdclass=SDescription>The initial offset to compute the angle position.</td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxRadialTreeLayout.rootx"id=link4onMouseOver="ShowTip(event, 'tt4', 'link4')"onMouseOut="HideTip('tt4')">rootx</a></td><tdclass=SDescription>The X co-ordinate of the root cell</td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxRadialTreeLayout.rooty"id=link5onMouseOver="ShowTip(event, 'tt5', 'link5')"onMouseOut="HideTip('tt5')">rooty</a></td><tdclass=SDescription>The Y co-ordinate of the root cell</td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxRadialTreeLayout.levelDistance"id=link6onMouseOver="ShowTip(event, 'tt6', 'link6')"onMouseOut="HideTip('tt6')">levelDistance</a></td><tdclass=SDescription>Holds the levelDistance. </td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxRadialTreeLayout.nodeDistance"id=link7onMouseOver="ShowTip(event, 'tt7', 'link7')"onMouseOut="HideTip('tt7')">nodeDistance</a></td><tdclass=SDescription>Holds the nodeDistance. </td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxRadialTreeLayout.autoRadius"id=link8onMouseOver="ShowTip(event, 'tt8', 'link8')"onMouseOut="HideTip('tt8')">autoRadius</a></td><tdclass=SDescription>Specifies if the radios should be computed automatically</td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxRadialTreeLayout.sortEdges"id=link9onMouseOver="ShowTip(event, 'tt9', 'link9')"onMouseOut="HideTip('tt9')">sortEdges</a></td><tdclass=SDescription>Specifies if edges should be sorted according to the order of their opposite terminal cell in the model.</td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxRadialTreeLayout.rowMinX"id=link10onMouseOver="ShowTip(event, 'tt10', 'link10')"onMouseOut="HideTip('tt10')">rowMinX</a></td><tdclass=SDescription>Array of leftmost x coordinate of each row</td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxRadialTreeLayout.rowMaxX"id=link11onMouseOver="ShowTip(event, 'tt11', 'link11')"onMouseOut="HideTip('tt11')">rowMaxX</a></td><tdclass=SDescription>Array of rightmost x coordinate of each row</td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxRadialTreeLayout.rowMinCenX"id=link12onMouseOver="ShowTip(event, 'tt12', 'link12')"onMouseOut="HideTip('tt12')">rowMinCenX</a></td><tdclass=SDescription>Array of x coordinate of leftmost vertex of each row</td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxRadialTreeLayout.rowMaxCenX"id=link13onMouseOver="ShowTip(event, 'tt13', 'link13')"onMouseOut="HideTip('tt13')">rowMaxCenX</a></td><tdclass=SDescription>Array of x coordinate of ri
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxRadialTreeLayout.mxRadialTreeLayout"></a>mxRadialTreeLayout</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass="PBeforeParameters prettyprint "nowrap>function mxRadialTreeLayout(</td><tdclass="PParameter prettyprint "nowrap>graph</td><tdclass="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Constructs a new radial tree layout for the specified graph</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxRadialTreeLayout.angleOffset"></a>angleOffset</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.angleOffset</td></tr></table></blockquote><p>The initial offset to compute the angle position.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxRadialTreeLayout.rootx"></a>rootx</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.rootx</td></tr></table></blockquote><p>The X co-ordinate of the root cell</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxRadialTreeLayout.rooty"></a>rooty</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.rooty</td></tr></table></blockquote><p>The Y co-ordinate of the root cell</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxRadialTreeLayout.levelDistance"></a>levelDistance</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.levelDistance</td></tr></table></blockquote><p>Holds the levelDistance. Default is 120.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxRadialTreeLayout.nodeDistance"></a>nodeDistance</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.nodeDistance</td></tr></table></blockquote><p>Holds the nodeDistance. Default is 10.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxRadialTreeLayout.autoRadius"></a>autoRadius</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.autoRadius</td></tr></table></blockquote><p>Specifies if the radios should be computed automatically</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxRadialTreeLayout.sortEdges"></a>sortEdges</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.sortEdges</td></tr></table></blockquote><p>Specifies if edges should be sorted according to the order of their opposite terminal cell in the model.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxRadialTreeLayout.rowMinX"></a>rowMinX</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.rowMinX</td></tr></table></blockquote><p>Array of leftmost x coordinate of each row</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxRadialTreeLayout.rowMaxX"></a>rowMaxX</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.rowMaxX</td></tr></table></blockquote><p>Array of rightmost x coordinate of each row</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxRadialTreeLayout.rowMinCenX"></a>rowMinCenX</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.rowMinCenX</td></tr></table></blockquote><p>Array of x coordinate of leftmost vertex of each row</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxRadialTreeLayout.rowMaxCenX"></a>rowMaxCenX</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.rowMaxCenX</td></tr></table></blockquote><p>Array of x coordinate of rightmost vertex of each row</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxRadialTreeLayout.rowRadi"></a>rowRadi</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.rowRadi</td></tr></table></blockquote><p>Array of y deltas of each row behind root vertex, also the radius in the tree</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxRadialTreeLayout.row"></a>row</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.row</td></tr></table></blockquote><p>Array of vertices on each row</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxRadialTreeLayout.isVertexIgnored"></a>isVertexIgnored</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass="PBeforeParameters prettyprint "nowrap>mxRadialTreeLayout.prototype.isVertexIgnored = function(</td><tdclass="PParameter prettyprint "nowrap>vertex</td><tdclass="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns a boolean indicating if the given <ahref="../model/mxCell-js.html#mxCell"class=LClassid=link22onMouseOver="ShowTip(event, 'tt17', 'link22')"onMouseOut="HideTip('tt17')">mxCell</a> should be ignored as a vertex. This returns true if the cell has no connections.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>vertex</td><tdclass=CDLDescription><ahref="../model/mxCell-js.html#mxCell"class=LClassid=link23onMouseOver="ShowTip(event, 'tt17', 'link23')"onMouseOut="HideTip('tt17')">mxCell</a> whose ignored state should be returned.</td></tr></table></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxRadialTreeLayout.execute"></a>execute</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass="PBeforeParameters prettyprint "nowrap>mxRadialTreeLayout.prototype.execute = function(</td><tdclass="PParameter prettyprint "nowrap>parent,</td></tr><tr><td></td><tdclass="PParameter prettyprint "nowrap>root</td><tdclass="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Implements <ahref="mxGraphLayout-js.html#mxGraphLayout.execute"class=LFunctionid=link24onMouseOver="ShowTip(event, 'tt19', 'link24')"onMouseOut="HideTip('tt19')">mxGraphLayout.execute</a>.</p><p>If the parent has any connected edges, then it is used as the root of the tree. Else, <ahref="../view/mxGraph-js.html#mxGraph.findTreeRoots"class=LFunctionid=link25onMouseOver="ShowTip(event, 'tt21', 'link25')"onMouseOut="HideTip('tt21')">mxGraph.findTreeRoots</a> will be used to find a suitable root node within the set of children of the given parent.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>parent</td><tdclass=CDLDescription><ahref="../model/mxCell-js.html#mxCell"class=LClassid=link26onMouseOver="ShowTip(event, 'tt17', 'link26')"onMouseOut="HideTip('tt17')">mxCell</a> whose children should be laid out.</td></tr><tr><tdclass=CDLEntry>root</td><tdclass=CDLDescription>Optional <ahref="../model/mxCell-js.html#mxCell"class=LClassid=link27onMouseOver="ShowTip(event, 'tt17', 'link27')"onMouseOut="HideTip('tt17')">mxCell</a> that will be used as the root of the tree.</td></tr></table></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxRadialTreeLayout.calcRowDims"></a>calcRowDims</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass="PBeforeParameters prettyprint "nowrap>mxRadialTreeLayout.prototype.calcRowDims = function(</td><tdclass="PParameter prettyprint "nowrap>row,</td></tr><tr><td></td><tdclass="PParameter prettyprint "nowrap>rowNum</td><tdclass="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Recursive function to calculate the dimensions of each row</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>row</td><tdclass=CDLDescription>Array of internal nodes, the children of which are to be processed.</td></tr><tr><tdclass=CDLEntry>rowNum</td><tdclass=CDLDescription>Integer indicating which row is being processed.</td></tr></table></div></div></div>
<divclass=CToolTipid="tt1"><divclass=CClass>Base class for all layout algorithms in mxGraph. </div></div><divclass=CToolTipid="tt2"><divclass=CFunction><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass="PBeforeParameters prettyprint "nowrap>function mxRadialTreeLayout(</td><tdclass="PParameter prettyprint "nowrap>graph</td><tdclass="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Constructs a new radial tree layout for the specified graph</div></div><divclass=CToolTipid="tt3"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.angleOffset</td></tr></table></blockquote>The initial offset to compute the angle position.</div></div><divclass=CToolTipid="tt4"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.rootx</td></tr></table></blockquote>The X co-ordinate of the root cell</div></div><divclass=CToolTipid="tt5"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.rooty</td></tr></table></blockquote>The Y co-ordinate of the root cell</div></div><divclass=CToolTipid="tt6"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.levelDistance</td></tr></table></blockquote>Holds the levelDistance. </div></div><divclass=CToolTipid="tt7"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.nodeDistance</td></tr></table></blockquote>Holds the nodeDistance. </div></div><divclass=CToolTipid="tt8"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.autoRadius</td></tr></table></blockquote>Specifies if the radios should be computed automatically</div></div><divclass=CToolTipid="tt9"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.sortEdges</td></tr></table></blockquote>Specifies if edges should be sorted according to the order of their opposite terminal cell in the model.</div></div><divclass=CToolTipid="tt10"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.rowMinX</td></tr></table></blockquote>Array of leftmost x coordinate of each row</div></div><divclass=CToolTipid="tt11"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.rowMaxX</td></tr></table></blockquote>Array of rightmost x coordinate of each row</div></div><divclass=CToolTipid="tt12"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.rowMinCenX</td></tr></table></blockquote>Array of x coordinate of leftmost vertex of each row</div></div><divclass=CToolTipid="tt13"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.rowMaxCenX</td></tr></table></blockquote>Array of x coordinate of rightmost vertex of each row</div></div><divclass=CToolTipid="tt14"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">mxRadialTreeLayout.prototype.rowRadi</td></tr></table></blockquote>Array of y deltas of each row behind root vertex, also the radius in the tree</div></div><divclass=CToolTipid="tt15"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0c