maxGraph/docs/js-api/files/layout/hierarchical/mxHierarchicalLayout-js.html

101 lines
58 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><title>mxHierarchicalLayout</title><link rel="stylesheet" type="text/css" href="../../../styles/main.css"><script language=JavaScript src="../../../javascript/main.js"></script><script language=JavaScript src="../../../javascript/prettify.js"></script><script language=JavaScript src="../../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
<!-- Generated by Natural Docs, version 1.5 -->
<!-- http://www.naturaldocs.org -->
<!-- saved from url=(0026)http://www.naturaldocs.org -->
<div id=Content><div class="CClass"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="mxHierarchicalLayout"></a>mxHierarchicalLayout</h1><div class=CBody><p>A hierarchical layout algorithm.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#mxHierarchicalLayout" >mxHierarchicalLayout</a></td><td class=SDescription>A hierarchical layout algorithm.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxHierarchicalLayout.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxHierarchicalLayout.mxHierarchicalLayout" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">mxHierarchicalLayout</a></td><td class=SDescription>Constructs a new hierarchical layout algorithm.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxHierarchicalLayout.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxHierarchicalLayout.roots" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">roots</a></td><td class=SDescription>Holds the array of <a href="../mxGraphLayout-js.html#mxGraphLayout" class=LClass id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">mxGraphLayouts</a> that this layout contains.</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxHierarchicalLayout.resizeParent" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">resizeParent</a></td><td class=SDescription>Specifies if the parent should be resized after the layout so that it contains all the child cells. </td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxHierarchicalLayout.moveParent" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">moveParent</a></td><td class=SDescription>Specifies if the parent should be moved if <a href="#mxHierarchicalLayout.resizeParent" class=LVariable id=link6 onMouseOver="ShowTip(event, 'tt4', 'link6')" onMouseOut="HideTip('tt4')">resizeParent</a> is enabled. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxHierarchicalLayout.parentBorder" id=link7 onMouseOver="ShowTip(event, 'tt6', 'link7')" onMouseOut="HideTip('tt6')">parentBorder</a></td><td class=SDescription>The border to be added around the children if the parent is to be resized using <a href="#mxHierarchicalLayout.resizeParent" class=LVariable id=link8 onMouseOver="ShowTip(event, 'tt4', 'link8')" onMouseOut="HideTip('tt4')">resizeParent</a>. </td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxHierarchicalLayout.intraCellSpacing" id=link9 onMouseOver="ShowTip(event, 'tt7', 'link9')" onMouseOut="HideTip('tt7')">intraCellSpacing</a></td><td class=SDescription>The spacing buffer added between cells on the same layer. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxHierarchicalLayout.interRankCellSpacing" id=link10 onMouseOver="ShowTip(event, 'tt8', 'link10')" onMouseOut="HideTip('tt8')">interRankCellSpacing</a></td><td class=SDescription>The spacing buffer added between cell on adjacent layers. </td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxHierarchicalLayout.interHierarchySpacing" id=link11 onMouseOver="ShowTip(event, 'tt9', 'link11')" onMouseOut="HideTip('tt9')">interHierarchySpacing</a></td><td class=SDescription>The spacing buffer between unconnected hierarchies. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxHierarchicalLayout.parallelEdgeSpacing" id=link12 onMouseOver="ShowTip(event, 'tt10', 'link12')" onMouseOut="HideTip('tt10')">parallelEdgeSpacing</a></td><td class=SDescription>The distance between each parallel edge on each ranks for long edges</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxHierarchicalLayout.orientation" id=link13 onMouseOver="ShowTip(event, 'tt11', 'link13')" onMouseOut="HideTip('tt11')">orientation</a></td><td class=SDescription>The position of the root node(s) relative to the laid out graph in. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxHierarchicalLayout.fineTuning" id=link14 onMouseOver="ShowTip(event, 'tt12', 'link14')" onMouseOut="HideTip('tt12')">fineTuning</a></td><td class=SDescription>Whether or not to perform local optimisations and iterate multiple times through the algorithm. </td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxHierarchicalLayout.deterministic" id=link15 onMouseOver="ShowTip(event, 'tt13', 'link15')" onMouseOut="HideTip('tt13')">deterministic</a></td><td class=SDescription>Whether or not cells are ordered according to the order in the graph model. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxHierarchicalLayout.fixRoots" id=link16 onMouseOver="ShowTip(event, 'tt14', 'link16')" onMouseOut="HideTip('tt14')">fixRoots</a></td><td class=SDescription>Whether or not to fix the position of the root cells. </td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxHierarchicalLayout.layoutFromSinks" id=link17 onMouseOver="ShowTip(event, 'tt15', 'link17')" onMouseOut="HideTip('tt15')">layoutFromSinks</a></td><td class=SDescription>Whether or not the initial scan of the graph to determine the layer assigned to each vertex starts from the sinks or source (the sinks being vertices with the fewest, preferable zero, outgoing edges and sources same with incoming edges). </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxHierarchicalLayout.tightenToSource" id=link18 onMouseOver="ShowTip(event, 'tt16', 'link18')" onMouseOut="HideTip('tt16')">tightenToSource</a></td><td class=SDescription>Whether or not to tighten the assigned ranks of vertices up towards the source cells.</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxHierarchicalLayout.disableEdgeStyle" id=link19 onMouseOver="ShowTip(event, 'tt17', 'link19')" onMouseOut="HideTip('tt17')">disableEdgeStyle</a></td><td class=SDescription>Specifies if the STYLE_NOEDGESTYLE flag should be set on edges that are modified by the result. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxHierarchicalLayout.promoteEdges" id=link20 onMouseOver="ShowTip(event, 'tt18', 'link20')" onMouseOut="HideTip('tt18')">promoteEdges</a></td><td class=SDescription>Whether or not to promote edges that terminate on vertices with different but common ancestry to appear connected to the highest siblings in the ancestry chains</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxHierarchicalLayout.traverseAncestors" id=link21 onMouseOver="ShowTip(event, 'tt19', 'link21')" onMouseOut="HideTip('tt19')">traverseAncestors</a></td><td class=SDescription>Whether or not to navigate edges whose terminal vertices have different parents but are in the same ancestry chain</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxHierarchicalLayout.model" id=link22 onMouseOver="ShowTip(event, 'tt20', 'link22')" onMouseOut="HideTip('tt20')">model</a></td><td class=SDescription>The internal <a href="model/mxGraphHierarchyModel-js.html#mxGraphHierarchyModel" class=LClass id=link23 onMouseOver="ShowTip(event, 'tt21', 'link23')" onMouseOut="HideTip('tt21')">mxGraphHierarchyModel</a> formed of the layout.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxHierarchicalLayout.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxHierarchicalLayout.getModel" id=link24 onMouseOver="ShowTip(event, 'tt22', 'link24')" onMouseOut="HideTip('tt22')">getModel</a></td><td class=SDescription>Returns the internal <a href="model/mxGraphHierarchyModel-js.html#mxGraphHierarchyModel" class=LClass id=link25 onMouseOver="ShowTip(event, 'tt21', 'link25')" onMouseOut="HideTip('tt21')">mxGraphHierarchyModel</a> for this layout algorithm.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxHierarchicalLayout.execute" id=link26 onMouseOver="ShowTip(event, 'tt23', 'link26')" onMouseOut="HideTip('tt23')">execute</a></td><td class=SDescription>Executes the layout for the children of the specified parent.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxHierarchicalLayout.findTreeRoots" id=link27 onMouseOver="ShowTip(event, 'tt24', 'link27')" onMouseOut="HideTip('tt24')">findTreeRoots</a></td><td class=SDescription>Returns all children in the given parent which do not have incoming edges. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxHierarchicalLayout.getEdges" id=link28 onMouseOver="ShowTip(event, 'tt25', 'link28')" onMouseOut="HideTip('tt25')">getEdges</a></td><td class=SDescription>Returns the connected edges for the given cell.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxHierarchicalLayout.run" id=link29 onMouseOver="ShowTip(event, 'tt26', 'link29')" onMouseOut="HideTip('tt26')">run</a></td><td class=SDescription>The API method used to exercise the layout upon the graph description and produce a separate description of the vertex position and edge routing changes made. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxHierarchicalLayout.cycleStage" id=link30 onMouseOver="ShowTip(event, 'tt27', 'link30')" onMouseOut="HideTip('tt27')">cycleStage</a></td><td class=SDescription>Executes the cycle stage using mxMinimumCycleRemover.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxHierarchicalLayout.layeringStage" id=link31 onMouseOver="ShowTip(event, 'tt28', 'link31')" onMouseOut="HideTip('tt28')">layeringStage</a></td><td class=SDescription>Implements first stage of a Sugiyama layout.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxHierarchicalLayout.crossingStage" id=link32 onMouseOver="ShowTip(event, 'tt29', 'link32')" onMouseOut="HideTip('tt29')">crossingStage</a></td><td class=SDescription>Executes the crossing stage using mxMedianHybridCrossingReduction.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxHierarchicalLayout.placementStage" id=link33 onMouseOver="ShowTip(event, 'tt30', 'link33')" onMouseOut="HideTip('tt30')">placementStage</a></td><td class=SDescription>Executes the placement stage using mxCoordinateAssignment.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.Functions"></a>Functions</h3></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.mxHierarchicalLayout"></a>mxHierarchicalLayout</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function mxHierarchicalLayout(</td><td class=PParameter nowrap>graph,</td></tr><tr><td></td><td class=PParameter nowrap>orientation,</td></tr><tr><td></td><td class=PParameter nowrap>deterministic</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Constructs a new hierarchical layout algorithm.</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>graph</td><td class=CDLDescription>Reference to the enclosing <a href="../../view/mxGraph-js.html#mxGraph" class=LClass id=link34 onMouseOver="ShowTip(event, 'tt31', 'link34')" onMouseOut="HideTip('tt31')">mxGraph</a>.</td></tr><tr><td class=CDLEntry>orientation</td><td class=CDLDescription>Optional constant that defines the orientation of this layout.</td></tr><tr><td class=CDLEntry>deterministic</td><td class=CDLDescription>Optional boolean that specifies if this layout should be deterministic.&nbsp; Default is true.</td></tr></table></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.Variables"></a>Variables</h3></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.roots"></a>roots</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.roots</td></tr></table></blockquote><p>Holds the array of <a href="../mxGraphLayout-js.html#mxGraphLayout" class=LClass id=link35 onMouseOver="ShowTip(event, 'tt3', 'link35')" onMouseOut="HideTip('tt3')">mxGraphLayouts</a> that this layout contains.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.resizeParent"></a>resizeParent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.resizeParent</td></tr></table></blockquote><p>Specifies if the parent should be resized after the layout so that it contains all the child cells.&nbsp; Default is false.&nbsp; See also <a href="#mxHierarchicalLayout.parentBorder" class=LVariable id=link36 onMouseOver="ShowTip(event, 'tt6', 'link36')" onMouseOut="HideTip('tt6')">parentBorder</a>.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.moveParent"></a>moveParent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.moveParent</td></tr></table></blockquote><p>Specifies if the parent should be moved if <a href="#mxHierarchicalLayout.resizeParent" class=LVariable id=link37 onMouseOver="ShowTip(event, 'tt4', 'link37')" onMouseOut="HideTip('tt4')">resizeParent</a> is enabled.&nbsp; Default is false.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.parentBorder"></a>parentBorder</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.parentBorder</td></tr></table></blockquote><p>The border to be added around the children if the parent is to be resized using <a href="#mxHierarchicalLayout.resizeParent" class=LVariable id=link38 onMouseOver="ShowTip(event, 'tt4', 'link38')" onMouseOut="HideTip('tt4')">resizeParent</a>.&nbsp; Default is 0.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.intraCellSpacing"></a>intraCellSpacing</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.intraCellSpacing</td></tr></table></blockquote><p>The spacing buffer added between cells on the same layer.&nbsp; Default is 30.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.interRankCellSpacing"></a>interRankCellSpacing</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.interRankCellSpacing</td></tr></table></blockquote><p>The spacing buffer added between cell on adjacent layers.&nbsp; Default is 50.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.interHierarchySpacing"></a>interHierarchySpacing</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.interHierarchySpacing</td></tr></table></blockquote><p>The spacing buffer between unconnected hierarchies.&nbsp; Default is 60.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.parallelEdgeSpacing"></a>parallelEdgeSpacing</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.parallelEdgeSpacing</td></tr></table></blockquote><p>The distance between each parallel edge on each ranks for long edges</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.orientation"></a>orientation</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.orientation</td></tr></table></blockquote><p>The position of the root node(s) relative to the laid out graph in.&nbsp; Default is <a href="../../util/mxConstants-js.html#mxConstants.DIRECTION_NORTH" class=LVariable id=link39 onMouseOver="ShowTip(event, 'tt32', 'link39')" onMouseOut="HideTip('tt32')">mxConstants.DIRECTION_NORTH</a>.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.fineTuning"></a>fineTuning</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.fineTuning</td></tr></table></blockquote><p>Whether or not to perform local optimisations and iterate multiple times through the algorithm.&nbsp; Default is true.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.deterministic"></a>deterministic</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.deterministic</td></tr></table></blockquote><p>Whether or not cells are ordered according to the order in the graph model.&nbsp; Defaults to false since sorting usually produces quadratic performance.&nbsp; Note that since mxGraph returns edges in a deterministic order, it might be that this layout is always deterministic using that JGraph regardless of this flag setting (i.e. leave it false in that case).&nbsp; Default is true.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.fixRoots"></a>fixRoots</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.fixRoots</td></tr></table></blockquote><p>Whether or not to fix the position of the root cells.&nbsp; Keep in mind to turn off features such as move to origin when fixing the roots, move to origin usually overrides this flag (in JGraph it does).&nbsp; Default is false.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.layoutFromSinks"></a>layoutFromSinks</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.layoutFromSinks</td></tr></table></blockquote><p>Whether or not the initial scan of the graph to determine the layer assigned to each vertex starts from the sinks or source (the sinks being vertices with the fewest, preferable zero, outgoing edges and sources same with incoming edges).&nbsp; Starting from either direction can tight the layout up and also produce better results for certain types of graphs.&nbsp; If the result for the default is not good enough try a few sample layouts with the value false to see if they improve</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.tightenToSource"></a>tightenToSource</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.tightenToSource</td></tr></table></blockquote><p>Whether or not to tighten the assigned ranks of vertices up towards the source cells.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.disableEdgeStyle"></a>disableEdgeStyle</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.disableEdgeStyle</td></tr></table></blockquote><p>Specifies if the STYLE_NOEDGESTYLE flag should be set on edges that are modified by the result.&nbsp; Default is true.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.promoteEdges"></a>promoteEdges</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.promoteEdges</td></tr></table></blockquote><p>Whether or not to promote edges that terminate on vertices with different but common ancestry to appear connected to the highest siblings in the ancestry chains</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.traverseAncestors"></a>traverseAncestors</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.traverseAncestors</td></tr></table></blockquote><p>Whether or not to navigate edges whose terminal vertices have different parents but are in the same ancestry chain</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.model"></a>model</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.model</td></tr></table></blockquote><p>The internal <a href="model/mxGraphHierarchyModel-js.html#mxGraphHierarchyModel" class=LClass id=link40 onMouseOver="ShowTip(event, 'tt21', 'link40')" onMouseOut="HideTip('tt21')">mxGraphHierarchyModel</a> formed of the layout.</p></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.Functions"></a>Functions</h3></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.getModel"></a>getModel</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.getModel = function()</td></tr></table></blockquote><p>Returns the internal <a href="model/mxGraphHierarchyModel-js.html#mxGraphHierarchyModel" class=LClass id=link41 onMouseOver="ShowTip(event, 'tt21', 'link41')" onMouseOut="HideTip('tt21')">mxGraphHierarchyModel</a> for this layout algorithm.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.execute"></a>execute</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxHierarchicalLayout.prototype.execute = function(</td><td class=PParameter nowrap>parent,</td></tr><tr><td></td><td class=PParameter nowrap>roots</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Executes the layout for the children of the specified parent.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>parent</td><td class=CDLDescription>Parent <a href="../../model/mxCell-js.html#mxCell" class=LClass id=link42 onMouseOver="ShowTip(event, 'tt33', 'link42')" onMouseOut="HideTip('tt33')">mxCell</a> that contains the children to be laid out.</td></tr><tr><td class=CDLEntry>roots</td><td class=CDLDescription>Optional starting roots of the layout.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.findTreeRoots"></a>findTreeRoots</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxHierarchicalLayout.prototype.findTreeRoots = function(</td><td class=PParameter nowrap>isolate,</td></tr><tr><td></td><td class=PParameter nowrap>invert</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns all children in the given parent which do not have incoming edges.&nbsp; If the result is empty then the with the greatest difference between incoming and outgoing edges is returned.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>parent</td><td class=CDLDescription><a href="../../model/mxCell-js.html#mxCell" class=LClass id=link43 onMouseOver="ShowTip(event, 'tt33', 'link43')" onMouseOut="HideTip('tt33')">mxCell</a> whose children should be checked.</td></tr><tr><td class=CDLEntry>isolate</td><td class=CDLDescription>Optional boolean that specifies if edges should be ignored if the opposite end is not a child of the given parent cell.&nbsp; Default is false.</td></tr><tr><td class=CDLEntry>invert</td><td class=CDLDescription>Optional boolean that specifies if outgoing or incoming edges should be counted for a tree root.&nbsp; If false then outgoing edges will be counted.&nbsp; Default is false.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.getEdges"></a>getEdges</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxHierarchicalLayout.prototype.getEdges = function(</td><td class=PParameter nowrap>cell</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the connected edges for the given cell.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>cell</td><td class=CDLDescription><a href="../../model/mxCell-js.html#mxCell" class=LClass id=link44 onMouseOver="ShowTip(event, 'tt33', 'link44')" onMouseOut="HideTip('tt33')">mxCell</a> whose edges should be returned.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.run"></a>run</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxHierarchicalLayout.prototype.run = function(</td><td class=PParameter nowrap>parent</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>The API method used to exercise the layout upon the graph description and produce a separate description of the vertex position and edge routing changes made.&nbsp; It runs each stage of the layout that has been created.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.cycleStage"></a>cycleStage</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxHierarchicalLayout.prototype.cycleStage = function(</td><td class=PParameter nowrap>parent</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Executes the cycle stage using mxMinimumCycleRemover.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.layeringStage"></a>layeringStage</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.layeringStage = function()</td></tr></table></blockquote><p>Implements first stage of a Sugiyama layout.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.crossingStage"></a>crossingStage</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxHierarchicalLayout.prototype.crossingStage = function(</td><td class=PParameter nowrap>parent</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Executes the crossing stage using mxMedianHybridCrossingReduction.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxHierarchicalLayout.placementStage"></a>placementStage</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxHierarchicalLayout.prototype.placementStage = function(</td><td class=PParameter nowrap>initialX,</td></tr><tr><td></td><td class=PParameter nowrap>parent</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Executes the placement stage using mxCoordinateAssignment.</p></div></div></div>
</div><!--Content-->
<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
<div id=Menu><div class=MEntry><div class=MFile><a href="../../index-txt.html">API Specification</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Editor</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../../editor/mxDefaultKeyHandler-js.html">mxDefaultKeyHandler</a></div></div><div class=MEntry><div class=MFile><a href="../../editor/mxDefaultPopupMenu-js.html">mxDefaultPopupMenu</a></div></div><div class=MEntry><div class=MFile><a href="../../editor/mxDefaultToolbar-js.html">mxDefaultToolbar</a></div></div><div class=MEntry><div class=MFile><a href="../../editor/mxEditor-js.html">mxEditor</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Handler</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../../handler/mxCellHighlight-js.html">mxCellHighlight</a></div></div><div class=MEntry><div class=MFile><a href="../../handler/mxCellMarker-js.html">mxCellMarker</a></div></div><div class=MEntry><div class=MFile><a href="../../handler/mxCellTracker-js.html">mxCellTracker</a></div></div><div class=MEntry><div class=MFile><a href="../../handler/mxConnectionHandler-js.html">mxConnectionHandler</a></div></div><div class=MEntry><div class=MFile><a href="../../handler/mxConstraintHandler-js.html">mxConstraintHandler</a></div></div><div class=MEntry><div class=MFile><a href="../../handler/mxEdgeHandler-js.html">mxEdgeHandler</a></div></div><div class=MEntry><div class=MFile><a href="../../handler/mxEdgeSegmentHandler-js.html">mxEdgeSegmentHandler.js</a></div></div><div class=MEntry><div class=MFile><a href="../../handler/mxElbowEdgeHandler-js.html">mxElbowEdgeHandler</a></div></div><div class=MEntry><div class=MFile><a href="../../handler/mxGraphHandler-js.html">mxGraphHandler</a></div></div><div class=MEntry><div class=MFile><a href="../../handler/mxKeyHandler-js.html">mxKeyHandler</a></div></div><div class=MEntry><div class=MFile><a href="../../handler/mxPanningHandler-js.html">mxPanningHandler</a></div></div><div class=MEntry><div class=MFile><a href="../../handler/mxRubberband-js.html">mxRubberband</a></div></div><div class=MEntry><div class=MFile><a href="../../handler/mxSelectionCellsHandler-js.html">mxSelectionCellsHandler</a></div></div><div class=MEntry><div class=MFile><a href="../../handler/mxTooltipHandler-js.html">mxTooltipHandler</a></div></div><div class=MEntry><div class=MFile><a href="../../handler/mxVertexHandler-js.html">mxVertexHandler</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Io</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MFile><a href="../../io/mxCellCodec-js.html">mxCellCodec</a></div></div><div class=MEntry><div class=MFile><a href="../../io/mxChildChangeCodec-js.html">mxChildChangeCodec</a></div></div><div class=MEntry><div class=MFile><a href="../../io/mxCodec-js.html">mxCodec</a></div></div><div class=MEntry><div class=MFile><a href="../../io/mxCodecRegistry-js.html">mxCodecRegistry</a></div></div><div class=MEntry><div class=MFile><a href="../../io/mxDefaultKeyHandlerCodec-js.html">mxDefaultKeyHandlerCodec</a></div></div><div class=MEntry><div class=MFile><a href="../../io/mxDefaultPopupMenuCodec-js.html">mxDefaultPopupMenuCodec</a></div></div><div class=MEntry><div class=MFile><a href="../../io/mxDefaultToolbarCodec-js.html">mxDefaultToolbarCodec</a></div></div><div class=MEntry><div class=MFile><a href="../../io/mxEditorCodec-js.html">mxEditorCodec</a></div></div><div class=MEntry><div class=MFile><a href="../../io/mxGenericChangeCodec-js.html">mxGenericChangeCodec</a></div></div><div class=MEntry><div class=MFile><a href="../../io/mxGraphCodec-js.html">mxGraphCodec</a></div></div><div class=MEntry><div class=MFile><a href="../../io/mxGraphViewCodec-js.html">mxGraphViewCodec</a></div></div><div class=MEntry><div class=MFile><a href="../../io/mxModelCodec-js.html">mxModelCodec</a></div></div><div class=MEntry><div class=MFile><a href="../../io/mxObjectCodec-js.html">mxObjectCodec</a></div></div><div class=MEntry><div class=MFile><a href="../../io/mxRootChangeCodec-js.html">mxRootChangeCodec</a></div></div><div class=MEntry><div class=MFile><a href="../../io/mxStylesheetCodec-js.html">mxStylesheetCodec</a></div></div><div class=MEntry><div class=MFile><a href="../../io/mxTerminalChangeCodec-js.html">mxTerminalChangeCodec</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Layout</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Hierarchical</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Model</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="model/mxGraphAbstractHierarchyCell-js.html">mxGraphAbstractHierarchyCell</a></div></div><div class=MEntry><div class=MFile><a href="model/mxGraphHierarchyEdge-js.html">mxGraphHierarchyEdge</a></div></div><div class=MEntry><div class=MFile><a href="model/mxGraphHierarchyModel-js.html">mxGraphHierarchyModel</a></div></div><div class=MEntry><div class=MFile><a href="model/mxGraphHierarchyNode-js.html">mxGraphHierarchyNode</a></div></div></div></div></div><div class=MEntry><div class=MFile id=MSelected>mxHierarchicalLayout</div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Stage</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MFile><a href="stage/mxCoordinateAssignment-js.html">mxCoordinateAssignment</a></div></div><div class=MEntry><div class=MFile><a href="stage/mxHierarchicalLayoutStage-js.html">mxHierarchicalLayoutStage</a></div></div><div class=MEntry><div class=MFile><a href="stage/mxMedianHybridCrossingReduction-js.html">mxMedianHybridCrossingReduction</a></div></div><div class=MEntry><div class=MFile><a href="stage/mxMinimumCycleRemover-js.html">mxMinimumCycleRemover</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MFile><a href="../mxCircleLayout-js.html">mxCircleLayout</a></div></div><div class=MEntry><div class=MFile><a href="../mxCompactTreeLayout-js.html">mxCompactTreeLayout</a></div></div><div class=MEntry><div class=MFile><a href="../mxCompositeLayout-js.html">mxCompositeLayout</a></div></div><div class=MEntry><div class=MFile><a href="../mxEdgeLabelLayout-js.html">mxEdgeLabelLayout</a></div></div><div class=MEntry><div class=MFile><a href="../mxFastOrganicLayout-js.html">mxFastOrganicLayout</a></div></div><div class=MEntry><div class=MFile><a href="../mxGraphLayout-js.html">mxGraphLayout</a></div></div><div class=MEntry><div class=MFile><a href="../mxParallelEdgeLayout-js.html">mxParallelEdgeLayout</a></div></div><div class=MEntry><div class=MFile><a href="../mxPartitionLayout-js.html">mxPartitionLayout</a></div></div><div class=MEntry><div class=MFile><a href="../mxStackLayout-js.html">mxStackLayout</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Model</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MFile><a href="../../model/mxCell-js.html">mxCell</a></div></div><div class=MEntry><div class=MFile><a href="../../model/mxCellPath-js.html">mxCellPath</a></div></div><div class=MEntry><div class=MFile><a href="../../model/mxGeometry-js.html">mxGeometry</a></div></div><div class=MEntry><div class=MFile><a href="../../model/mxGraphModel-js.html">mxGraphModel</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="../../mxClient-js.html">mxClient</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent9')">Shape</a><div class=MGroupContent id=MGroupContent9><div class=MEntry><div class=MFile><a href="../../shape/mxActor-js.html">mxActor</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxArrow-js.html">mxArrow</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxCloud-js.html">mxCloud</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxConnector-js.html">mxConnector</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxCylinder-js.html">mxCylinder</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxDoubleEllipse-js.html">mxDoubleEllipse</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxEllipse-js.html">mxEllipse</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxHexagon-js.html">mxHexagon</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxImageShape-js.html">mxImageShape</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxLabel-js.html">mxLabel</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxLine-js.html">mxLine</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxMarker-js.html">mxMarker</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxPolyline-js.html">mxPolyline</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxRectangleShape-js.html">mxRectangleShape</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxRhombus-js.html">mxRhombus</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxShape-js.html">mxShape</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxStencil-js.html">mxStencil</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxStencilRegistry-js.html">mxStencilRegistry</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxStencilShape-js.html">mxStencilShape</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxSwimlane-js.html">mxSwimlane</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxText-js.html">mxText</a></div></div><div class=MEntry><div class=MFile><a href="../../shape/mxTriangle-js.html">mxTriangle</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent10')">Util</a><div class=MGroupContent id=MGroupContent10><div class=MEntry><div class=MFile><a href="../../util/mxAnimation-js.html">mxAnimation</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxAutoSaveManager-js.html">mxAutoSaveManager</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxClipboard-js.html">mxClipboard</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxConstants-js.html">mxConstants</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxDictionary-js.html">mxDictionary</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxDivResizer-js.html">mxDivResizer</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxDragSource-js.html">mxDragSource</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxEffects-js.html">mxEffects</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxEvent-js.html">mxEvent</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxEventObject-js.html">mxEventObject</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxEventSource-js.html">mxEventSource</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxForm-js.html">mxForm</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxGuide-js.html">mxGuide</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxImage-js.html">mxImage</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxImageBundle-js.html">mxImageBundle</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxImageExport-js.html">mxImageExport</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxLog-js.html">mxLog</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxMorphing-js.html">mxMorphing</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxMouseEvent-js.html">mxMouseEvent</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxObjectIdentity-js.html">mxObjectIdentity</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxPanningManager-js.html">mxPanningManager</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxPath-js.html">mxPath</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxPoint-js.html">mxPoint</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxPopupMenu-js.html">mxPopupMenu</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxRectangle-js.html">mxRectangle</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxResources-js.html">mxResources</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxSession-js.html">mxSession</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxSvgCanvas2D-js.html">mxSvgCanvas2D</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxToolbar-js.html">mxToolbar</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxUndoableEdit-js.html">mxUndoableEdit</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxUndoManager-js.html">mxUndoManager</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxUrlConverter-js.html">mxUrlConverter</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxUtils-js.html">mxUtils</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxWindow-js.html">mxWindow</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxXmlCanvas2D-js.html">mxXmlCanvas2D</a></div></div><div class=MEntry><div class=MFile><a href="../../util/mxXmlRequest-js.html">mxXmlRequest</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent11')">View</a><div class=MGroupContent id=MGroupContent11><div class=MEntry><div class=MFile><a href="../../view/mxCellEditor-js.html">mxCellEditor</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxCellOverlay-js.html">mxCellOverlay</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxCellRenderer-js.html">mxCellRenderer</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxCellState-js.html">mxCellState</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxCellStatePreview-js.html">mxCellStatePreview</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxConnectionConstraint-js.html">mxConnectionConstraint</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxEdgeStyle-js.html">mxEdgeStyle</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxGraph-js.html">mxGraph</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxGraphSelectionModel-js.html">mxGraphSelectionModel</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxGraphView-js.html">mxGraphView</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxLayoutManager-js.html">mxLayoutManager</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxMultiplicity-js.html">mxMultiplicity</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxOutline-js.html">mxOutline</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxPerimeter-js.html">mxPerimeter</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxPrintPreview-js.html">mxPrintPreview</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxSpaceManager-js.html">mxSpaceManager</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxStyleRegistry-js.html">mxStyleRegistry</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxStylesheet-js.html">mxStylesheet</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxSwimlaneManager-js.html">mxSwimlaneManager</a></div></div><div class=MEntry><div class=MFile><a href="../../view/mxTemporaryCellStates-js.html">mxTemporaryCellStates</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent12')">Index</a><div class=MGroupContent id=MGroupContent12><div class=MEntry><div class=MIndex><a href="../../../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../../../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../../../index/Cookies.html">Cookies</a></div></div><div class=MEntry><div class=MIndex><a href="../../../index/Events.html">Events</a></div></div><div class=MEntry><div class=MIndex><a href="../../../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../../../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../../../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
var searchPanel = new SearchPanel("searchPanel", "HTML", "../../../search");
--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Cookies">Cookies</option><option value="Events">Events</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
HideAllBut([6, 7], 13);// --></script></div><!--Menu-->
<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function mxHierarchicalLayout(</td><td class=PParameter nowrap>graph,</td></tr><tr><td></td><td class=PParameter nowrap>orientation,</td></tr><tr><td></td><td class=PParameter nowrap>deterministic</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Constructs a new hierarchical layout algorithm.</div></div><div class=CToolTip id="tt2"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.roots</td></tr></table></blockquote>Holds the array of mxGraphLayouts that this layout contains.</div></div><div class=CToolTip id="tt3"><div class=CClass>Base class for all layout algorithms in mxGraph. </div></div><div class=CToolTip id="tt4"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.resizeParent</td></tr></table></blockquote>Specifies if the parent should be resized after the layout so that it contains all the child cells. </div></div><div class=CToolTip id="tt5"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.moveParent</td></tr></table></blockquote>Specifies if the parent should be moved if resizeParent is enabled. </div></div><div class=CToolTip id="tt6"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.parentBorder</td></tr></table></blockquote>The border to be added around the children if the parent is to be resized using resizeParent. </div></div><div class=CToolTip id="tt7"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.intraCellSpacing</td></tr></table></blockquote>The spacing buffer added between cells on the same layer. </div></div><div class=CToolTip id="tt8"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.interRankCellSpacing</td></tr></table></blockquote>The spacing buffer added between cell on adjacent layers. </div></div><div class=CToolTip id="tt9"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.interHierarchySpacing</td></tr></table></blockquote>The spacing buffer between unconnected hierarchies. </div></div><div class=CToolTip id="tt10"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.parallelEdgeSpacing</td></tr></table></blockquote>The distance between each parallel edge on each ranks for long edges</div></div><div class=CToolTip id="tt11"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.orientation</td></tr></table></blockquote>The position of the root node(s) relative to the laid out graph in. </div></div><div class=CToolTip id="tt12"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.fineTuning</td></tr></table></blockquote>Whether or not to perform local optimisations and iterate multiple times through the algorithm. </div></div><div class=CToolTip id="tt13"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.deterministic</td></tr></table></blockquote>Whether or not cells are ordered according to the order in the graph model. </div></div><div class=CToolTip id="tt14"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.fixRoots</td></tr></table></blockquote>Whether or not to fix the position of the root cells. </div></div><div class=CToolTip id="tt15"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.layoutFromSinks</td></tr></table></blockquote>Whether or not the initial scan of the graph to determine the layer assigned to each vertex starts from the sinks or source (the sinks being vertices with the fewest, preferable zero, outgoing edges and sources same with incoming edges). </div></div><div class=CToolTip id="tt16"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.tightenToSource</td></tr></table></blockquote>Whether or not to tighten the assigned ranks of vertices up towards the source cells.</div></div><div class=CToolTip id="tt17"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.disableEdgeStyle</td></tr></table></blockquote>Specifies if the STYLE_NOEDGESTYLE flag should be set on edges that are modified by the result. </div></div><div class=CToolTip id="tt18"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.promoteEdges</td></tr></table></blockquote>Whether or not to promote edges that terminate on vertices with different but common ancestry to appear connected to the highest siblings in the ancestry chains</div></div><div class=CToolTip id="tt19"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.traverseAncestors</td></tr></table></blockquote>Whether or not to navigate edges whose terminal vertices have different parents but are in the same ancestry chain</div></div><div class=CToolTip id="tt20"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.model</td></tr></table></blockquote>The internal mxGraphHierarchyModel formed of the layout.</div></div><div class=CToolTip id="tt21"><div class=CClass>Internal model of a hierarchical graph. </div></div><div class=CToolTip id="tt22"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.getModel = function()</td></tr></table></blockquote>Returns the internal mxGraphHierarchyModel for this layout algorithm.</div></div><div class=CToolTip id="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxHierarchicalLayout.prototype.execute = function(</td><td class=PParameter nowrap>parent,</td></tr><tr><td></td><td class=PParameter nowrap>roots</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Executes the layout for the children of the specified parent.</div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxHierarchicalLayout.prototype.findTreeRoots = function(</td><td class=PParameter nowrap>isolate,</td></tr><tr><td></td><td class=PParameter nowrap>invert</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns all children in the given parent which do not have incoming edges. </div></div><div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxHierarchicalLayout.prototype.getEdges = function(</td><td class=PParameter nowrap>cell</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the connected edges for the given cell.</div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxHierarchicalLayout.prototype.run = function(</td><td class=PParameter nowrap>parent</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>The API method used to exercise the layout upon the graph description and produce a separate description of the vertex position and edge routing changes made. </div></div><div class=CToolTip id="tt27"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxHierarchicalLayout.prototype.cycleStage = function(</td><td class=PParameter nowrap>parent</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Executes the cycle stage using mxMinimumCycleRemover.</div></div><div class=CToolTip id="tt28"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxHierarchicalLayout.prototype.layeringStage = function()</td></tr></table></blockquote>Implements first stage of a Sugiyama layout.</div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxHierarchicalLayout.prototype.crossingStage = function(</td><td class=PParameter nowrap>parent</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Executes the crossing stage using mxMedianHybridCrossingReduction.</div></div><div class=CToolTip id="tt30"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>mxHierarchicalLayout.prototype.placementStage = function(</td><td class=PParameter nowrap>initialX,</td></tr><tr><td></td><td class=PParameter nowrap>parent</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Executes the placement stage using mxCoordinateAssignment.</div></div><div class=CToolTip id="tt31"><div class=CClass>Extends mxEventSource to implement a graph component for the browser. </div></div><div class=CToolTip id="tt32"><div class=CVariable>Constant for direction north. </div></div><div class=CToolTip id="tt33"><div class=CClass>Cells are the elements of the graph model. </div></div><!--END_ND_TOOLTIPS-->
<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>