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

111 lines
65 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><title>mxSwimlaneLayout</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="mxSwimlaneLayout"></a>mxSwimlaneLayout</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="#mxSwimlaneLayout" >mxSwimlaneLayout</a></td><td class=SDescription>A hierarchical layout algorithm.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxSwimlaneLayout.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxSwimlaneLayout.mxSwimlaneLayout" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">mxSwimlaneLayout</a></td><td class=SDescription>Constructs a new hierarchical layout algorithm.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxSwimlaneLayout.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxSwimlaneLayout.roots" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">roots</a></td><td class=SDescription>Holds the array of <a href="../../model/mxCell-js.html#mxCell" class=LClass id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">mxCell</a> that this layout contains.</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxSwimlaneLayout.swimlanes" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">swimlanes</a></td><td class=SDescription>Holds the array of <a href="../../model/mxCell-js.html#mxCell" class=LClass id=link5 onMouseOver="ShowTip(event, 'tt3', 'link5')" onMouseOut="HideTip('tt3')">mxCell</a> of the ordered swimlanes to lay out</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxSwimlaneLayout.dummyVertices" id=link6 onMouseOver="ShowTip(event, 'tt5', 'link6')" onMouseOut="HideTip('tt5')">dummyVertices</a></td><td class=SDescription>Holds an array of <a href="../../model/mxCell-js.html#mxCell" class=LClass id=link7 onMouseOver="ShowTip(event, 'tt3', 'link7')" onMouseOut="HideTip('tt3')">mxCell</a> of dummy vertices inserted during the layout to pad out empty swimlanes</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxSwimlaneLayout.dummyVertexWidth" id=link8 onMouseOver="ShowTip(event, 'tt6', 'link8')" onMouseOut="HideTip('tt6')">dummyVertexWidth</a></td><td class=SDescription>The cell width of any dummy vertices inserted</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxSwimlaneLayout.resizeParent" id=link9 onMouseOver="ShowTip(event, 'tt7', 'link9')" onMouseOut="HideTip('tt7')">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"><td class=SEntry><a href="#mxSwimlaneLayout.moveParent" id=link10 onMouseOver="ShowTip(event, 'tt8', 'link10')" onMouseOut="HideTip('tt8')">moveParent</a></td><td class=SDescription>Specifies if the parent should be moved if <a href="#mxSwimlaneLayout.resizeParent" class=LVariable id=link11 onMouseOver="ShowTip(event, 'tt7', 'link11')" onMouseOut="HideTip('tt7')">resizeParent</a> is enabled. </td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxSwimlaneLayout.parentBorder" id=link12 onMouseOver="ShowTip(event, 'tt9', 'link12')" onMouseOut="HideTip('tt9')">parentBorder</a></td><td class=SDescription>The border to be added around the children if the parent is to be resized using <a href="#mxSwimlaneLayout.resizeParent" class=LVariable id=link13 onMouseOver="ShowTip(event, 'tt7', 'link13')" onMouseOut="HideTip('tt7')">resizeParent</a>. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxSwimlaneLayout.intraCellSpacing" id=link14 onMouseOver="ShowTip(event, 'tt10', 'link14')" onMouseOut="HideTip('tt10')">intraCellSpacing</a></td><td class=SDescription>The spacing buffer added between cells on the same layer. </td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxSwimlaneLayout.interRankCellSpacing" id=link15 onMouseOver="ShowTip(event, 'tt11', 'link15')" onMouseOut="HideTip('tt11')">interRankCellSpacing</a></td><td class=SDescription>The spacing buffer added between cell on adjacent layers. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxSwimlaneLayout.interHierarchySpacing" id=link16 onMouseOver="ShowTip(event, 'tt12', 'link16')" onMouseOut="HideTip('tt12')">interHierarchySpacing</a></td><td class=SDescription>The spacing buffer between unconnected hierarchies. </td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxSwimlaneLayout.parallelEdgeSpacing" id=link17 onMouseOver="ShowTip(event, 'tt13', 'link17')" onMouseOut="HideTip('tt13')">parallelEdgeSpacing</a></td><td class=SDescription>The distance between each parallel edge on each ranks for long edges</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxSwimlaneLayout.orientation" id=link18 onMouseOver="ShowTip(event, 'tt14', 'link18')" onMouseOut="HideTip('tt14')">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 SMarked"><td class=SEntry><a href="#mxSwimlaneLayout.fineTuning" id=link19 onMouseOver="ShowTip(event, 'tt15', 'link19')" onMouseOut="HideTip('tt15')">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"><td class=SEntry><a href="#mxSwimlaneLayout.tightenToSource" id=link20 onMouseOver="ShowTip(event, 'tt16', 'link20')" 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="#mxSwimlaneLayout.disableEdgeStyle" id=link21 onMouseOver="ShowTip(event, 'tt17', 'link21')" 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="#mxSwimlaneLayout.traverseAncestors" id=link22 onMouseOver="ShowTip(event, 'tt18', 'link22')" onMouseOut="HideTip('tt18')">traverseAncestors</a></td><td class=SDescription>Whether or not to drill into child cells and layout in reverse group order. </td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxSwimlaneLayout.model" id=link23 onMouseOver="ShowTip(event, 'tt19', 'link23')" onMouseOut="HideTip('tt19')">model</a></td><td class=SDescription>The internal <a href="model/mxSwimlaneModel-js.html#mxSwimlaneModel" class=LClass id=link24 onMouseOver="ShowTip(event, 'tt20', 'link24')" onMouseOut="HideTip('tt20')">mxSwimlaneModel</a> formed of the layout.</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxSwimlaneLayout.edgesSet" >edgesSet</a></td><td class=SDescription>A cache of edges whose source terminal is the key</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxSwimlaneLayout.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxSwimlaneLayout.getModel" id=link25 onMouseOver="ShowTip(event, 'tt21', 'link25')" onMouseOut="HideTip('tt21')">getModel</a></td><td class=SDescription>Returns the internal <a href="model/mxSwimlaneModel-js.html#mxSwimlaneModel" class=LClass id=link26 onMouseOver="ShowTip(event, 'tt20', 'link26')" onMouseOut="HideTip('tt20')">mxSwimlaneModel</a> for this layout algorithm.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxSwimlaneLayout.execute" id=link27 onMouseOver="ShowTip(event, 'tt22', 'link27')" onMouseOut="HideTip('tt22')">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="#mxSwimlaneLayout.updateGroupBounds" id=link28 onMouseOver="ShowTip(event, 'tt23', 'link28')" onMouseOut="HideTip('tt23')">updateGroupBounds</a></td><td class=SDescription>Updates the bounds of the given array of groups so that it includes all child vertices.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxSwimlaneLayout.findRoots" id=link29 onMouseOver="ShowTip(event, 'tt24', 'link29')" onMouseOut="HideTip('tt24')">findRoots</a></td><td class=SDescription>Returns all visible children in the given parent which do not have incoming edges. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxSwimlaneLayout.getEdges" id=link30 onMouseOver="ShowTip(event, 'tt25', 'link30')" onMouseOut="HideTip('tt25')">getEdges</a></td><td class=SDescription>Returns the connected edges for the given cell.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxSwimlaneLayout.getVisibleTerminal" id=link31 onMouseOver="ShowTip(event, 'tt26', 'link31')" onMouseOut="HideTip('tt26')">getVisibleTerminal</a></td><td class=SDescription>Helper function to return visible terminal for edge allowing for ports</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxSwimlaneLayout.run" id=link32 onMouseOver="ShowTip(event, 'tt27', 'link32')" onMouseOut="HideTip('tt27')">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="#mxSwimlaneLayout.filterDescendants" id=link33 onMouseOver="ShowTip(event, 'tt28', 'link33')" onMouseOut="HideTip('tt28')">filterDescendants</a></td><td class=SDescription>Creates an array of descendant cells</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxSwimlaneLayout.isPort" id=link34 onMouseOver="ShowTip(event, 'tt29', 'link34')" onMouseOut="HideTip('tt29')">isPort</a></td><td class=SDescription>Returns true if the given cell is a &ldquo;port&rdquo;, that is, when connecting to it, its parent is the connecting vertex in terms of graph traversal</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxSwimlaneLayout.getEdgesBetween" id=link35 onMouseOver="ShowTip(event, 'tt30', 'link35')" onMouseOut="HideTip('tt30')">getEdgesBetween</a></td><td class=SDescription>Returns the edges between the given source and target. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxSwimlaneLayout.cycleStage" id=link36 onMouseOver="ShowTip(event, 'tt31', 'link36')" onMouseOut="HideTip('tt31')">cycleStage</a></td><td class=SDescription>Executes the cycle stage using mxMinimumCycleRemover.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxSwimlaneLayout.layeringStage" id=link37 onMouseOver="ShowTip(event, 'tt32', 'link37')" onMouseOut="HideTip('tt32')">layeringStage</a></td><td class=SDescription>Implements first stage of a Sugiyama layout.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxSwimlaneLayout.crossingStage" id=link38 onMouseOver="ShowTip(event, 'tt33', 'link38')" onMouseOut="HideTip('tt33')">crossingStage</a></td><td class=SDescription>Executes the crossing stage using mxMedianHybridCrossingReduction.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxSwimlaneLayout.placementStage" id=link39 onMouseOver="ShowTip(event, 'tt34', 'link39')" onMouseOut="HideTip('tt34')">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="mxSwimlaneLayout.Functions"></a>Functions</h3></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.mxSwimlaneLayout"></a>mxSwimlaneLayout</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 mxSwimlaneLayout(</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=link40 onMouseOver="ShowTip(event, 'tt35', 'link40')" onMouseOut="HideTip('tt35')">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="mxSwimlaneLayout.Variables"></a>Variables</h3></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.roots"></a>roots</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.roots</td></tr></table></blockquote><p>Holds the array of <a href="../../model/mxCell-js.html#mxCell" class=LClass id=link41 onMouseOver="ShowTip(event, 'tt3', 'link41')" onMouseOut="HideTip('tt3')">mxCell</a> that this layout contains.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.swimlanes"></a>swimlanes</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.swimlanes</td></tr></table></blockquote><p>Holds the array of <a href="../../model/mxCell-js.html#mxCell" class=LClass id=link42 onMouseOver="ShowTip(event, 'tt3', 'link42')" onMouseOut="HideTip('tt3')">mxCell</a> of the ordered swimlanes to lay out</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.dummyVertices"></a>dummyVertices</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.dummyVertices</td></tr></table></blockquote><p>Holds an array of <a href="../../model/mxCell-js.html#mxCell" class=LClass id=link43 onMouseOver="ShowTip(event, 'tt3', 'link43')" onMouseOut="HideTip('tt3')">mxCell</a> of dummy vertices inserted during the layout to pad out empty swimlanes</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.dummyVertexWidth"></a>dummyVertexWidth</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.dummyVertexWidth</td></tr></table></blockquote><p>The cell width of any dummy vertices inserted</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.resizeParent"></a>resizeParent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.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="#mxSwimlaneLayout.parentBorder" class=LVariable id=link44 onMouseOver="ShowTip(event, 'tt9', 'link44')" onMouseOut="HideTip('tt9')">parentBorder</a>.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.moveParent"></a>moveParent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.moveParent</td></tr></table></blockquote><p>Specifies if the parent should be moved if <a href="#mxSwimlaneLayout.resizeParent" class=LVariable id=link45 onMouseOver="ShowTip(event, 'tt7', 'link45')" onMouseOut="HideTip('tt7')">resizeParent</a> is enabled.&nbsp; Default is false.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.parentBorder"></a>parentBorder</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.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="#mxSwimlaneLayout.resizeParent" class=LVariable id=link46 onMouseOver="ShowTip(event, 'tt7', 'link46')" onMouseOut="HideTip('tt7')">resizeParent</a>.&nbsp; Default is 0.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.intraCellSpacing"></a>intraCellSpacing</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.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="mxSwimlaneLayout.interRankCellSpacing"></a>interRankCellSpacing</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.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="mxSwimlaneLayout.interHierarchySpacing"></a>interHierarchySpacing</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.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="mxSwimlaneLayout.parallelEdgeSpacing"></a>parallelEdgeSpacing</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.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="mxSwimlaneLayout.orientation"></a>orientation</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.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=link47 onMouseOver="ShowTip(event, 'tt36', 'link47')" onMouseOut="HideTip('tt36')">mxConstants.DIRECTION_NORTH</a>.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.fineTuning"></a>fineTuning</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.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="mxSwimlaneLayout.tightenToSource"></a>tightenToSource</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.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="mxSwimlaneLayout.disableEdgeStyle"></a>disableEdgeStyle</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.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="mxSwimlaneLayout.traverseAncestors"></a>traverseAncestors</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.traverseAncestors</td></tr></table></blockquote><p>Whether or not to drill into child cells and layout in reverse group order.&nbsp; This also cause the layout 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="mxSwimlaneLayout.model"></a>model</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.model</td></tr></table></blockquote><p>The internal <a href="model/mxSwimlaneModel-js.html#mxSwimlaneModel" class=LClass id=link48 onMouseOver="ShowTip(event, 'tt20', 'link48')" onMouseOut="HideTip('tt20')">mxSwimlaneModel</a> formed of the layout.</p></div></div></div>
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.edgesSet"></a>edgesSet</h3><div class=CBody><p>A cache of edges whose source terminal is the key</p></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.Functions"></a>Functions</h3></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.getModel"></a>getModel</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.getModel = function()</td></tr></table></blockquote><p>Returns the internal <a href="model/mxSwimlaneModel-js.html#mxSwimlaneModel" class=LClass id=link49 onMouseOver="ShowTip(event, 'tt20', 'link49')" onMouseOut="HideTip('tt20')">mxSwimlaneModel</a> for this layout algorithm.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.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>mxSwimlaneLayout.prototype.execute = function(</td><td class=PParameter nowrap>parent,</td></tr><tr><td></td><td class=PParameter nowrap>swimlanes</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=link50 onMouseOver="ShowTip(event, 'tt3', 'link50')" onMouseOut="HideTip('tt3')">mxCell</a> that contains the children to be laid out.</td></tr><tr><td class=CDLEntry>swimlanes</td><td class=CDLDescription>Ordered array of swimlanes to be laid out</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.updateGroupBounds"></a>updateGroupBounds</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.updateGroupBounds = function()</td></tr></table></blockquote><p>Updates the bounds of the given array of groups so that it includes all child vertices.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.findRoots"></a>findRoots</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>mxSwimlaneLayout.prototype.findRoots = function(</td><td class=PParameter nowrap>parent,</td></tr><tr><td></td><td class=PParameter nowrap>vertices</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns all visible children in the given parent which do not have incoming edges.&nbsp; If the result is empty then the children with the maximum difference between incoming and outgoing edges are returned.&nbsp; This takes into account edges that are being promoted to the given root due to invisible children or collapsed cells.</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=link51 onMouseOver="ShowTip(event, 'tt3', 'link51')" onMouseOut="HideTip('tt3')">mxCell</a> whose children should be checked.</td></tr><tr><td class=CDLEntry>vertices</td><td class=CDLDescription>array of vertices to limit search to</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.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>mxSwimlaneLayout.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=link52 onMouseOver="ShowTip(event, 'tt3', 'link52')" onMouseOut="HideTip('tt3')">mxCell</a> whose edges should be returned.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.getVisibleTerminal"></a>getVisibleTerminal</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>mxSwimlaneLayout.prototype.getVisibleTerminal = function(</td><td class=PParameter nowrap>edge,</td></tr><tr><td></td><td class=PParameter nowrap>source</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Helper function to return visible terminal for edge allowing for ports</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>edge</td><td class=CDLDescription><a href="../../model/mxCell-js.html#mxCell" class=LClass id=link53 onMouseOver="ShowTip(event, 'tt3', 'link53')" onMouseOut="HideTip('tt3')">mxCell</a> whose edges should be returned.</td></tr><tr><td class=CDLEntry>source</td><td class=CDLDescription>Boolean that specifies whether the source or target terminal is to be returned</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.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>mxSwimlaneLayout.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="mxSwimlaneLayout.filterDescendants"></a>filterDescendants</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>mxSwimlaneLayout.prototype.filterDescendants = function(</td><td class=PParameter nowrap>cell,</td></tr><tr><td></td><td class=PParameter nowrap>result</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates an array of descendant cells</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.isPort"></a>isPort</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>mxSwimlaneLayout.prototype.isPort = function(</td><td class=PParameter nowrap>cell</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if the given cell is a &ldquo;port&rdquo;, that is, when connecting to it, its parent is the connecting vertex in terms of graph traversal</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=link54 onMouseOver="ShowTip(event, 'tt3', 'link54')" onMouseOut="HideTip('tt3')">mxCell</a> that represents the port.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.getEdgesBetween"></a>getEdgesBetween</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>mxSwimlaneLayout.prototype.getEdgesBetween = function(</td><td class=PParameter nowrap>source,</td></tr><tr><td></td><td class=PParameter nowrap>target,</td></tr><tr><td></td><td class=PParameter nowrap>directed</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the edges between the given source and target.&nbsp; This takes into account collapsed and invisible cells and ports.</p><h4 class=CHeading>Parameters</h4><p>source - target - directed -</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxSwimlaneLayout.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>mxSwimlaneLayout.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="mxSwimlaneLayout.layeringStage"></a>layeringStage</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.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="mxSwimlaneLayout.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>mxSwimlaneLayout.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="mxSwimlaneLayout.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>mxSwimlaneLayout.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/mxPopupMenuHandler-js.html">mxPopupMenuHandler</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 class=MEntry><div class=MFile><a href="../../handler/mxHandle-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 class=MEntry><div class=MFile><a href="model/mxSwimlaneModel-js.html">mxSwimlaneModel</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=MFile id=MSelected>mxSwimlaneLayout</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 class=MEntry><div class=MFile><a href="stage/mxSwimlaneOrdering-js.html">mxSwimlaneOrdering</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="../mxRadialTreeLayout-js.html">mxRadialTreeLayout</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/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/mxAbstractCanvas2D-js.html">mxAbstractCanvas2D</a></div></div><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/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/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/mxVmlCanvas2D-js.html">mxVmlCanvas2D</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/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/General.html">Everything</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 mxSwimlaneLayout(</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>mxSwimlaneLayout.prototype.roots</td></tr></table></blockquote>Holds the array of mxCell that this layout contains.</div></div><div class=CToolTip id="tt3"><div class=CClass>Cells are the elements of the graph model. </div></div><div class=CToolTip id="tt4"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.swimlanes</td></tr></table></blockquote>Holds the array of mxCell of the ordered swimlanes to lay out</div></div><div class=CToolTip id="tt5"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.dummyVertices</td></tr></table></blockquote>Holds an array of mxCell of dummy vertices inserted during the layout to pad out empty swimlanes</div></div><div class=CToolTip id="tt6"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.dummyVertexWidth</td></tr></table></blockquote>The cell width of any dummy vertices inserted</div></div><div class=CToolTip id="tt7"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.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="tt8"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.moveParent</td></tr></table></blockquote>Specifies if the parent should be moved if resizeParent is enabled. </div></div><div class=CToolTip id="tt9"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.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="tt10"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.intraCellSpacing</td></tr></table></blockquote>The spacing buffer added between cells on the same layer. </div></div><div class=CToolTip id="tt11"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.interRankCellSpacing</td></tr></table></blockquote>The spacing buffer added between cell on adjacent layers. </div></div><div class=CToolTip id="tt12"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.interHierarchySpacing</td></tr></table></blockquote>The spacing buffer between unconnected hierarchies. </div></div><div class=CToolTip id="tt13"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.parallelEdgeSpacing</td></tr></table></blockquote>The distance between each parallel edge on each ranks for long edges</div></div><div class=CToolTip id="tt14"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.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="tt15"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.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="tt16"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.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>mxSwimlaneLayout.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>mxSwimlaneLayout.prototype.traverseAncestors</td></tr></table></blockquote>Whether or not to drill into child cells and layout in reverse group order. </div></div><div class=CToolTip id="tt19"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.model</td></tr></table></blockquote>The internal mxSwimlaneModel formed of the layout.</div></div><div class=CToolTip id="tt20"><div class=CClass>Internal model of a hierarchical graph. </div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.getModel = function()</td></tr></table></blockquote>Returns the internal mxSwimlaneModel for this layout algorithm.</div></div><div class=CToolTip id="tt22"><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>mxSwimlaneLayout.prototype.execute = function(</td><td class=PParameter nowrap>parent,</td></tr><tr><td></td><td class=PParameter nowrap>swimlanes</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="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.updateGroupBounds = function()</td></tr></table></blockquote>Updates the bounds of the given array of groups so that it includes all child vertices.</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>mxSwimlaneLayout.prototype.findRoots = function(</td><td class=PParameter nowrap>parent,</td></tr><tr><td></td><td class=PParameter nowrap>vertices</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns all visible 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>mxSwimlaneLayout.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>mxSwimlaneLayout.prototype.getVisibleTerminal = function(</td><td class=PParameter nowrap>edge,</td></tr><tr><td></td><td class=PParameter nowrap>source</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Helper function to return visible terminal for edge allowing for ports</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>mxSwimlaneLayout.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="tt28"><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>mxSwimlaneLayout.prototype.filterDescendants = function(</td><td class=PParameter nowrap>cell,</td></tr><tr><td></td><td class=PParameter nowrap>result</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates an array of descendant cells</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>mxSwimlaneLayout.prototype.isPort = function(</td><td class=PParameter nowrap>cell</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns true if the given cell is a &ldquo;port&rdquo;, that is, when connecting to it, its parent is the connecting vertex in terms of graph traversal</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>mxSwimlaneLayout.prototype.getEdgesBetween = function(</td><td class=PParameter nowrap>source,</td></tr><tr><td></td><td class=PParameter nowrap>target,</td></tr><tr><td></td><td class=PParameter nowrap>directed</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the edges between the given source and target. </div></div><div class=CToolTip id="tt31"><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>mxSwimlaneLayout.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="tt32"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype prettyprint"><tr><td>mxSwimlaneLayout.prototype.layeringStage = function()</td></tr></table></blockquote>Implements first stage of a Sugiyama layout.</div></div><div class=CToolTip id="tt33"><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>mxSwimlaneLayout.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="tt34"><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>mxSwimlaneLayout.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="tt35"><div class=CClass>Extends mxEventSource to implement a graph component for the browser. </div></div><div class=CToolTip id="tt36"><div class=CVariable>Constant for direction north. </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>