maxGraph/docs/js-api/files/layout/hierarchical/model/mxGraphHierarchyModel-js.html

77 lines
46 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><title>mxGraphHierarchyModel</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="mxGraphHierarchyModel"></a>mxGraphHierarchyModel</h1><div class=CBody><p>Internal model of a hierarchical graph.&nbsp; This model stores nodes and edges equivalent to the real graph nodes and edges, but also stores the rank of the cells, the order within the ranks and the new candidate locations of cells.&nbsp; The internal model also reverses edge direction were appropriate , ignores self-loop and groups parallels together under one edge object.</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="#mxGraphHierarchyModel" >mxGraphHierarchyModel</a></td><td class=SDescription>Internal model of a hierarchical graph. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxGraphHierarchyModel.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxGraphHierarchyModel.mxGraphHierarchyModel" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">mxGraphHierarchyModel</a></td><td class=SDescription>Creates an internal ordered graph model using the vertices passed in. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxGraphHierarchyModel.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxGraphHierarchyModel.maxRank" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">maxRank</a></td><td class=SDescription>Stores the largest rank number allocated</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxGraphHierarchyModel.vertexMapper" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">vertexMapper</a></td><td class=SDescription>Map from graph vertices to internal model nodes.</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxGraphHierarchyModel.edgeMapper" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">edgeMapper</a></td><td class=SDescription>Map from graph edges to internal model edges</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxGraphHierarchyModel.ranks" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">ranks</a></td><td class=SDescription>Mapping from rank number to actual rank</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxGraphHierarchyModel.roots" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">roots</a></td><td class=SDescription>Store of roots of this hierarchy model, these are real graph cells, not internal cells</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxGraphHierarchyModel.parent" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">parent</a></td><td class=SDescription>The parent cell whose children are being laid out</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxGraphHierarchyModel.dfsCount" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">dfsCount</a></td><td class=SDescription>Count of the number of times the ancestor dfs has been used.</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxGraphHierarchyModel.SOURCESCANSTARTRANK" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">SOURCESCANSTARTRANK</a></td><td class=SDescription>High value to start source layering scan rank value from.</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxGraphHierarchyModel.tightenToSource" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">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="SGroup SIndent1"><td class=SEntry><a href="#mxGraphHierarchyModel.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxGraphHierarchyModel.createInternalCells" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">createInternalCells</a></td><td class=SDescription>Creates all edges in the internal model</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxGraphHierarchyModel.initialRank" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">initialRank</a></td><td class=SDescription>Basic determination of minimum layer ranking by working from from sources or sinks and working through each node in the relevant edge direction. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxGraphHierarchyModel.fixRanks" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">fixRanks</a></td><td class=SDescription>Fixes the layer assignments to the values stored in the nodes. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxGraphHierarchyModel.visit" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">visit</a></td><td class=SDescription>A depth first search through the internal heirarchy model.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxGraphHierarchyModel.dfs" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">dfs</a></td><td class=SDescription>Performs a depth first search on the internal hierarchy model</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxGraphHierarchyModel.extendedDfs" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">extendedDfs</a></td><td class=SDescription>Performs a depth first search on the internal hierarchy model. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.Functions"></a>Functions</h3></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.mxGraphHierarchyModel"></a>mxGraphHierarchyModel</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 mxGraphHierarchyModel(</td><td class=PParameter nowrap>layout,</td></tr><tr><td></td><td class=PParameter nowrap>vertices,</td></tr><tr><td></td><td class=PParameter nowrap>roots,</td></tr><tr><td></td><td class=PParameter nowrap>parent,</td></tr><tr><td></td><td class=PParameter nowrap>tightenToSource</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates an internal ordered graph model using the vertices passed in.&nbsp; If there are any, leftward edge need to be inverted in the internal model</p><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>graph</td><td class=CDLDescription>the facade describing the graph to be operated on</td></tr><tr><td class=CDLEntry>vertices</td><td class=CDLDescription>the vertices for this hierarchy</td></tr><tr><td class=CDLEntry>ordered</td><td class=CDLDescription>whether or not the vertices are already ordered</td></tr><tr><td class=CDLEntry>deterministic</td><td class=CDLDescription>whether or not this layout should be deterministic on each</td></tr><tr><td class=CDLEntry>tightenToSource</td><td class=CDLDescription>whether or not to tighten vertices towards the sources</td></tr><tr><td class=CDLEntry>scanRanksFromSinks</td><td class=CDLDescription>Whether rank assignment is from the sinks or sources. usage</td></tr></table></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.Variables"></a>Variables</h3></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.maxRank"></a>maxRank</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.maxRank</td></tr></table></blockquote><p>Stores the largest rank number allocated</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.vertexMapper"></a>vertexMapper</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.vertexMapper</td></tr></table></blockquote><p>Map from graph vertices to internal model nodes.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.edgeMapper"></a>edgeMapper</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.edgeMapper</td></tr></table></blockquote><p>Map from graph edges to internal model edges</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.ranks"></a>ranks</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.ranks</td></tr></table></blockquote><p>Mapping from rank number to actual rank</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.roots"></a>roots</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.roots</td></tr></table></blockquote><p>Store of roots of this hierarchy model, these are real graph cells, not internal cells</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.parent"></a>parent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.parent</td></tr></table></blockquote><p>The parent cell whose children are being laid out</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.dfsCount"></a>dfsCount</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.dfsCount</td></tr></table></blockquote><p>Count of the number of times the ancestor dfs has been used.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.SOURCESCANSTARTRANK"></a>SOURCESCANSTARTRANK</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.SOURCESCANSTARTRANK</td></tr></table></blockquote><p>High value to start source layering scan rank value from.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.tightenToSource"></a>tightenToSource</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.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="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.Functions"></a>Functions</h3></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.createInternalCells"></a>createInternalCells</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>mxGraphHierarchyModel.prototype.createInternalCells = function(</td><td class=PParameter nowrap>layout,</td></tr><tr><td></td><td class=PParameter nowrap>vertices,</td></tr><tr><td></td><td class=PParameter nowrap>internalVertices</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates all edges in the internal model</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>layout</td><td class=CDLDescription>Reference to the <a href="../mxHierarchicalLayout-js.html#mxHierarchicalLayout" class=LClass id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">mxHierarchicalLayout</a> algorithm.</td></tr><tr><td class=CDLEntry>vertices</td><td class=CDLDescription>Array of <a href="../../../model/mxCell-js.html#mxCell" class=LClass id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">mxCells</a> that represent the vertices whom are to have an internal representation created.</td></tr><tr><td class=CDLEntry>internalVertices</td><td class=CDLDescription>The array of <a href="mxGraphHierarchyNode-js.html#mxGraphHierarchyNode" class=LClass id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">mxGraphHierarchyNodes</a> to have their information filled in using the real vertices.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.initialRank"></a>initialRank</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.initialRank = function()</td></tr></table></blockquote><p>Basic determination of minimum layer ranking by working from from sources or sinks and working through each node in the relevant edge direction.&nbsp; Starting at the sinks is basically a longest path layering algorithm.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.fixRanks"></a>fixRanks</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.fixRanks = function()</td></tr></table></blockquote><p>Fixes the layer assignments to the values stored in the nodes.&nbsp; Also needs to create dummy nodes for edges that cross layers.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.visit"></a>visit</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>mxGraphHierarchyModel.prototype.visit = function(</td><td class=PParameter nowrap>visitor,</td></tr><tr><td></td><td class=PParameter nowrap>dfsRoots,</td></tr><tr><td></td><td class=PParameter nowrap>trackAncestors,</td></tr><tr><td></td><td class=PParameter nowrap>seenNodes</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>A depth first search through the internal heirarchy model.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>visitor</td><td class=CDLDescription>The visitor function pattern to be called for each node.</td></tr><tr><td class=CDLEntry>trackAncestors</td><td class=CDLDescription>Whether or not the search is to keep track all nodes directly above this one in the search path.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.dfs"></a>dfs</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>mxGraphHierarchyModel.prototype.dfs = function(</td><td class=PParameter nowrap>parent,</td></tr><tr><td></td><td class=PParameter nowrap>root,</td></tr><tr><td></td><td class=PParameter nowrap>connectingEdge,</td></tr><tr><td></td><td class=PParameter nowrap>visitor,</td></tr><tr><td></td><td class=PParameter nowrap>seen,</td></tr><tr><td></td><td class=PParameter nowrap>layer</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Performs a depth first search on the internal hierarchy model</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>parent</td><td class=CDLDescription>the parent internal node of the current internal node</td></tr><tr><td class=CDLEntry>root</td><td class=CDLDescription>the current internal node</td></tr><tr><td class=CDLEntry>connectingEdge</td><td class=CDLDescription>the internal edge connecting the internal node and the parent internal node, if any</td></tr><tr><td class=CDLEntry>visitor</td><td class=CDLDescription>the visitor pattern to be called for each node</td></tr><tr><td class=CDLEntry>seen</td><td class=CDLDescription>a set of all nodes seen by this dfs a set of all of the ancestor node of the current node</td></tr><tr><td class=CDLEntry>layer</td><td class=CDLDescription>the layer on the dfs tree ( not the same as the model ranks )</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxGraphHierarchyModel.extendedDfs"></a>extendedDfs</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>mxGraphHierarchyModel.prototype.extendedDfs = function(</td><td class=PParameter nowrap>parent,</td></tr><tr><td></td><td class=PParameter nowrap>root,</td></tr><tr><td></td><td class=PParameter nowrap>connectingEdge,</td></tr><tr><td></td><td class=PParameter nowrap>visitor,</td></tr><tr><td></td><td class=PParameter nowrap>seen,</td></tr><tr><td></td><td class=PParameter nowrap>ancestors,</td></tr><tr><td></td><td class=PParameter nowrap>childHash,</td></tr><tr><td></td><td class=PParameter nowrap>layer</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Performs a depth first search on the internal hierarchy model.&nbsp; This dfs extends the default version by keeping track of cells ancestors, but it should be only used when necessary because of it can be computationally intensive for deep searches.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>parent</td><td class=CDLDescription>the parent internal node of the current internal node</td></tr><tr><td class=CDLEntry>root</td><td class=CDLDescription>the current internal node</td></tr><tr><td class=CDLEntry>connectingEdge</td><td class=CDLDescription>the internal edge connecting the internal node and the parent internal node, if any</td></tr><tr><td class=CDLEntry>visitor</td><td class=CDLDescription>the visitor pattern to be called for each node</td></tr><tr><td class=CDLEntry>seen</td><td class=CDLDescription>a set of all nodes seen by this dfs</td></tr><tr><td class=CDLEntry>ancestors</td><td class=CDLDescription>the parent hash code</td></tr><tr><td class=CDLEntry>childHash</td><td class=CDLDescription>the new hash code for this node</td></tr><tr><td class=CDLEntry>layer</td><td class=CDLDescription>the layer on the dfs tree ( not the same as the model ranks )</td></tr></table></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="mxGraphAbstractHierarchyCell-js.html">mxGraphAbstractHierarchyCell</a></div></div><div class=MEntry><div class=MFile><a href="mxGraphHierarchyEdge-js.html">mxGraphHierarchyEdge</a></div></div><div class=MEntry><div class=MFile id=MSelected>mxGraphHierarchyModel</div></div><div class=MEntry><div class=MFile><a href="mxGraphHierarchyNode-js.html">mxGraphHierarchyNode</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="../mxHierarchicalLayout-js.html">mxHierarchicalLayout</a></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([4, 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 mxGraphHierarchyModel(</td><td class=PParameter nowrap>layout,</td></tr><tr><td></td><td class=PParameter nowrap>vertices,</td></tr><tr><td></td><td class=PParameter nowrap>roots,</td></tr><tr><td></td><td class=PParameter nowrap>parent,</td></tr><tr><td></td><td class=PParameter nowrap>tightenToSource</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates an internal ordered graph model using the vertices passed in. </div></div><div class=CToolTip id="tt2"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.maxRank</td></tr></table></blockquote>Stores the largest rank number allocated</div></div><div class=CToolTip id="tt3"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.vertexMapper</td></tr></table></blockquote>Map from graph vertices to internal model nodes.</div></div><div class=CToolTip id="tt4"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.edgeMapper</td></tr></table></blockquote>Map from graph edges to internal model edges</div></div><div class=CToolTip id="tt5"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.ranks</td></tr></table></blockquote>Mapping from rank number to actual rank</div></div><div class=CToolTip id="tt6"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.roots</td></tr></table></blockquote>Store of roots of this hierarchy model, these are real graph cells, not internal cells</div></div><div class=CToolTip id="tt7"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.parent</td></tr></table></blockquote>The parent cell whose children are being laid out</div></div><div class=CToolTip id="tt8"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.dfsCount</td></tr></table></blockquote>Count of the number of times the ancestor dfs has been used.</div></div><div class=CToolTip id="tt9"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.SOURCESCANSTARTRANK</td></tr></table></blockquote>High value to start source layering scan rank value from.</div></div><div class=CToolTip id="tt10"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.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="tt11"><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>mxGraphHierarchyModel.prototype.createInternalCells = function(</td><td class=PParameter nowrap>layout,</td></tr><tr><td></td><td class=PParameter nowrap>vertices,</td></tr><tr><td></td><td class=PParameter nowrap>internalVertices</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates all edges in the internal model</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.initialRank = function()</td></tr></table></blockquote>Basic determination of minimum layer ranking by working from from sources or sinks and working through each node in the relevant edge direction. </div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxGraphHierarchyModel.prototype.fixRanks = function()</td></tr></table></blockquote>Fixes the layer assignments to the values stored in the nodes. </div></div><div class=CToolTip id="tt14"><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>mxGraphHierarchyModel.prototype.visit = function(</td><td class=PParameter nowrap>visitor,</td></tr><tr><td></td><td class=PParameter nowrap>dfsRoots,</td></tr><tr><td></td><td class=PParameter nowrap>trackAncestors,</td></tr><tr><td></td><td class=PParameter nowrap>seenNodes</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>A depth first search through the internal heirarchy model.</div></div><div class=CToolTip id="tt15"><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>mxGraphHierarchyModel.prototype.dfs = function(</td><td class=PParameter nowrap>parent,</td></tr><tr><td></td><td class=PParameter nowrap>root,</td></tr><tr><td></td><td class=PParameter nowrap>connectingEdge,</td></tr><tr><td></td><td class=PParameter nowrap>visitor,</td></tr><tr><td></td><td class=PParameter nowrap>seen,</td></tr><tr><td></td><td class=PParameter nowrap>layer</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Performs a depth first search on the internal hierarchy model</div></div><div class=CToolTip id="tt16"><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>mxGraphHierarchyModel.prototype.extendedDfs = function(</td><td class=PParameter nowrap>parent,</td></tr><tr><td></td><td class=PParameter nowrap>root,</td></tr><tr><td></td><td class=PParameter nowrap>connectingEdge,</td></tr><tr><td></td><td class=PParameter nowrap>visitor,</td></tr><tr><td></td><td class=PParameter nowrap>seen,</td></tr><tr><td></td><td class=PParameter nowrap>ancestors,</td></tr><tr><td></td><td class=PParameter nowrap>childHash,</td></tr><tr><td></td><td class=PParameter nowrap>layer</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Performs a depth first search on the internal hierarchy model. </div></div><div class=CToolTip id="tt17"><div class=CClass>A hierarchical layout algorithm.</div></div><div class=CToolTip id="tt18"><div class=CClass>Cells are the elements of the graph model. </div></div><div class=CToolTip id="tt19"><div class=CClass>An abstraction of a hierarchical edge for the hierarchy layout</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>