<!-- saved from url=(0026)http://www.naturaldocs.org -->
<divid=Content><divclass="CClass"><divclass=CTopicid=MainTopic><h1class=CTitle><aname="mxCompactTreeLayout"></a>mxCompactTreeLayout</h1><divclass=CBody><p>Extends <ahref="mxGraphLayout-js.html#mxGraphLayout"class=LClassid=link46onMouseOver="ShowTip(event, 'tt1', 'link46')"onMouseOut="HideTip('tt1')">mxGraphLayout</a> to implement a compact tree (Moen) algorithm. This layout is suitable for graphs that have no cycles (trees). Vertices that are not connected to the tree will be ignored by this layout.</p><h4class=CHeading>Example</h4><blockquote><preclass="prettyprint">var layout = new mxCompactTreeLayout(graph);
layout.execute(graph.getDefaultParent());</pre></blockquote><!--START_ND_SUMMARY--><divclass=Summary><divclass=STitle>Summary</div><divclass=SBorder><tableborder=0cellspacing=0cellpadding=0class=STable><trclass="SMain"><tdclass=SEntry><ahref="#mxCompactTreeLayout">mxCompactTreeLayout</a></td><tdclass=SDescription>Extends <ahref="mxGraphLayout-js.html#mxGraphLayout"class=LClassid=link1onMouseOver="ShowTip(event, 'tt1', 'link1')"onMouseOut="HideTip('tt1')">mxGraphLayout</a> to implement a compact tree (Moen) algorithm. </td></tr><trclass="SGroup SIndent1"><tdclass=SEntry><ahref="#mxCompactTreeLayout.Functions">Functions</a></td><tdclass=SDescription></td></tr><trclass="SFunction SIndent2 SMarked"><tdclass=SEntry><ahref="#mxCompactTreeLayout.mxCompactTreeLayout"id=link2onMouseOver="ShowTip(event, 'tt2', 'link2')"onMouseOut="HideTip('tt2')">mxCompactTreeLayout</a></td><tdclass=SDescription>Constructs a new compact tree layout for the specified graph and orientation.</td></tr><trclass="SGroup SIndent1"><tdclass=SEntry><ahref="#mxCompactTreeLayout.Variables">Variables</a></td><tdclass=SDescription></td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxCompactTreeLayout.horizontal"id=link3onMouseOver="ShowTip(event, 'tt3', 'link3')"onMouseOut="HideTip('tt3')">horizontal</a></td><tdclass=SDescription>Specifies the orientation of the layout. </td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxCompactTreeLayout.invert"id=link4onMouseOver="ShowTip(event, 'tt4', 'link4')"onMouseOut="HideTip('tt4')">invert</a></td><tdclass=SDescription>Specifies if edge directions should be inverted. </td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxCompactTreeLayout.resizeParent"id=link5onMouseOver="ShowTip(event, 'tt5', 'link5')"onMouseOut="HideTip('tt5')">resizeParent</a></td><tdclass=SDescription>If the parents should be resized to match the width/height of the children. </td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxCompactTreeLayout.groupPadding"id=link6onMouseOver="ShowTip(event, 'tt6', 'link6')"onMouseOut="HideTip('tt6')">groupPadding</a></td><tdclass=SDescription>Padding added to resized parents</td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxCompactTreeLayout.parentsChanged"id=link7onMouseOver="ShowTip(event, 'tt7', 'link7')"onMouseOut="HideTip('tt7')">parentsChanged</a></td><tdclass=SDescription>A set of the parents that need updating based on children process as part of the layout</td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxCompactTreeLayout.moveTree"id=link8onMouseOver="ShowTip(event, 'tt8', 'link8')"onMouseOut="HideTip('tt8')">moveTree</a></td><tdclass=SDescription>Specifies if the tree should be moved to the top, left corner if it is inside a top-level layer. </td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxCompactTreeLayout.levelDistance"id=link9onMouseOver="ShowTip(event, 'tt9', 'link9')"onMouseOut="HideTip('tt9')">levelDistance</a></td><tdclass=SDescription>Holds the levelDistance. </td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxCompactTreeLayout.nodeDistance"id=link10onMouseOver="ShowTip(event, 'tt10', 'link10')"onMouseOut="HideTip('tt10')">nodeDistance</a></td><tdclass=SDescription>Holds the nodeDistance. </td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxCompactTreeLayout.resetEdges"id=link11onMouseOver="ShowTip(event, 'tt11', 'link11')"onMouseOut="HideTip('tt11')">resetEdges</a></td><tdclass=SDescription>Specifies if all edge points of traversed edges should be removed. </td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxCompactTreeLayout.prefHozEdgeSep"id=link12onMouseOver="ShowTip(event, 'tt12', 'link12')"onMouseOut="HideTip('tt12')">prefHozEdgeSep</a></td><tdclass=SDescription>The preferred horizontal distance between edges exiting a vertex</td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.mxCompactTreeLayout"></a>mxCompactTreeLayout</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>function mxCompactTreeLayout(</td><tdclass=PParameternowrap>graph,</td></tr><tr><td></td><tdclass=PParameternowrap>horizontal,</td></tr><tr><td></td><tdclass=PParameternowrap>invert</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Constructs a new compact tree layout for the specified graph and orientation.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.horizontal"></a>horizontal</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.horizontal</td></tr></table></blockquote><p>Specifies the orientation of the layout. Default is true.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.invert"></a>invert</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.invert</td></tr></table></blockquote><p>Specifies if edge directions should be inverted. Default is false.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.resizeParent"></a>resizeParent</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.resizeParent</td></tr></table></blockquote><p>If the parents should be resized to match the width/height of the children. Default is true.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.groupPadding"></a>groupPadding</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.groupPadding</td></tr></table></blockquote><p>Padding added to resized parents</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.parentsChanged"></a>parentsChanged</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.parentsChanged</td></tr></table></blockquote><p>A set of the parents that need updating based on children process as part of the layout</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.moveTree"></a>moveTree</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.moveTree</td></tr></table></blockquote><p>Specifies if the tree should be moved to the top, left corner if it is inside a top-level layer. Default is false.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.levelDistance"></a>levelDistance</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.levelDistance</td></tr></table></blockquote><p>Holds the levelDistance. Default is 10.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.nodeDistance"></a>nodeDistance</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.nodeDistance</td></tr></table></blockquote><p>Holds the nodeDistance. Default is 20.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.resetEdges"></a>resetEdges</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.resetEdges</td></tr></table></blockquote><p>Specifies if all edge points of traversed edges should be removed. Default is true.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.prefHozEdgeSep"></a>prefHozEdgeSep</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.prefHozEdgeSep</td></tr></table></blockquote><p>The preferred horizontal distance between edges exiting a vertex</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.prefVertEdgeOff"></a>prefVertEdgeOff</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.prefVertEdgeOff</td></tr></table></blockquote><p>The preferred vertical offset between edges exiting a vertex</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.minEdgeJetty"></a>minEdgeJetty</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.minEdgeJetty</td></tr></table></blockquote><p>The minimum distance for an edge jetty from a vertex</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.channelBuffer"></a>channelBuffer</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.channelBuffer</td></tr></table></blockquote><p>The size of the vertical buffer in the center of inter-rank channels where edge control points should not be placed</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.edgeRouting"></a>edgeRouting</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.edgeRouting</td></tr></table></blockquote><p>Whether or not to apply the internal tree edge routing</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.isVertexIgnored"></a>isVertexIgnored</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxCompactTreeLayout.prototype.isVertexIgnored = function(</td><tdclass=PParameternowrap>vertex</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns a boolean indicating if the given <ahref="../model/mxCell-js.html#mxCell"class=LClassid=link47onMouseOver="ShowTip(event, 'tt18', 'link47')"onMouseOut="HideTip('tt18')">mxCell</a> should be ignored as a vertex. This returns true if the cell has no connections.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>vertex</td><tdclass=CDLDescription><ahref="../model/mxCell-js.html#mxCell"class=LClassid=link48onMouseOver="ShowTip(event, 'tt18', 'link48')"onMouseOut="HideTip('tt18')">mxCell</a> whose ignored state should be returned.</td></tr></table></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.execute"></a>execute</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxCompactTreeLayout.prototype.execute = function(</td><tdclass=PParameternowrap>parent,</td></tr><tr><td></td><tdclass=PParameternowrap>root</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Implements <ahref="mxGraphLayout-js.html#mxGraphLayout.execute"class=LFunctionid=link50onMouseOver="ShowTip(event, 'tt21', 'link50')"onMouseOut="HideTip('tt21')">mxGraphLayout.execute</a>.</p><p>If the parent has any connected edges, then it is used as the root of the tree. Else, <ahref="../view/mxGraph-js.html#mxGraph.findTreeRoots"class=LFunctionid=link51onMouseOver="ShowTip(event, 'tt45', 'link51')"onMouseOut="HideTip('tt45')">mxGraph.findTreeRoots</a> will be used to find a suitable root node within the set of children of the given parent.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>parent</td><tdclass=CDLDescription><ahref="../model/mxCell-js.html#mxCell"class=LClassid=link52onMouseOver="ShowTip(event, 'tt18', 'link52')"onMouseOut="HideTip('tt18')">mxCell</a> whose children should be laid out.</td></tr><tr><tdclass=CDLEntry>root</td><tdclass=CDLDescription>Optional <ahref="../model/mxCell-js.html#mxCell"class=LClassid=link53onMouseOver="ShowTip(event, 'tt18', 'link53')"onMouseOut="HideTip('tt18')">mxCell</a> that will be used as the root of the tree.</td></tr></table></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.moveNode"></a>moveNode</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxCompactTreeLayout.prototype.moveNode = function(</td><tdclass=PParameternowrap>node,</td></tr><tr><td></td><tdclass=PParameternowrap>dx,</td></tr><tr><td></td><tdclass=PParameternowrap>dy</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Moves the specified node and all of its children by the given amount.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.dfs"></a>dfs</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxCompactTreeLayout.prototype.dfs = function(</td><tdclass=PParameternowrap>cell,</td></tr><tr><td></td><tdclass=PParameternowrap>parent,</td></tr><tr><td></td><tdclass=PParameternowrap>visited</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Does a depth first search starting at the specified cell. Makes sure the specified parent is never left by the algorithm.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.layout"></a>layout</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxCompactTreeLayout.prototype.layout = function(</td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Starts the actual compact tree layout algorithm at the given node.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.adjustParents"></a>adjustParents</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.adjustParents = function()</td></tr></table></blockquote><p>Adjust parent cells whose child geometries have changed. The default implementation adjusts the group to just fit around the children with a padding.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.localEdgeProcessing"></a>localEdgeProcessing</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>mxCompactTreeLayout.prototype.localEdgeProcessing = function(</td><tdclass=PParameternowrap>node</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Moves the specified node and all of its children by the given amount.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxCompactTreeLayout.localEdgeProcessing"></a>localEdgeProcessing</h3><divclass=CBody><p>Separates the x position of edges as they connect to vertices</p></div></div></div>
<divclass="CClass"><divclass=CTopic><h2class=CTitle><aname="WeightedCellSorter"></a>WeightedCellSorter</h2><divclass=CBody><p>A utility class used to track cells whilst sorting occurs on the weighted sum of their connected edges. Does not violate (x.compareTo(y)==0) == (x.equals(y))</p><!--START_ND_SUMMARY--><divclass=Summary><divclass=STitle>Summary</div><divclass=SBorder><tableborder=0cellspacing=0cellpadding=0class=STable><trclass="SGroup"><tdclass=SEntry><ahref="#WeightedCellSorter.Functions">Functions</a></td><tdclass=SDescription></td></tr><trclass="SFunction SIndent1 SMarked"><tdclass=SEntry><ahref="#WeightedCellSorter.WeightedCellSorter"id=link54onMouseOver="ShowTip(event, 'tt38', 'link54')"onMouseOut="HideTip('tt38')">WeightedCellSorter</a></td><tdclass=SDescription>Constructs a new weighted cell sorted for the given cell and weight.</td></tr><trclass="SGroup"><tdclass=SEntry><ahref="#WeightedCellSorter.Variables">Variables</a></td><tdclass=SDescription></td></tr><trclass="SVariable SIndent1 SMarked"><tdclass=SEntry><ahref="#WeightedCellSorter.weightedValue"id=link55onMouseOver="ShowTip(event, 'tt39', 'link55')"onMouseOut="HideTip('tt39')">weightedValue</a></td><tdclass=SDescription>The weighted value of the cell stored.</td></tr><trclass="SVariable SIndent1"><tdclass=SEntry><ahref="#WeightedCellSorter.nudge"id=link56onMouseOver="ShowTip(event, 'tt40', 'link56')"onMouseOut="HideTip('tt40')">nudge</a></td><tdclass=SDescription>Whether or not to flip equal weight values.</td></tr><trclass="SVariable SIndent1 SMarked"><tdclass=SEntry><ahref="#WeightedCellSorter.visited"id=link57onMouseOver="ShowTip(event, 'tt41', 'link57')"onMouseOut="HideTip('tt41')">visited</a></td><tdclass=SDescription>Whether or not this cell has been visited in the current assignment.</td></tr><trclass="SVariable SIndent1"><tdclass=SEntry><ahref="#WeightedCellSorter.rankIndex"id=link58onMouseOver="ShowTip(event, 'tt42', 'link58')"onMouseOut="HideTip('tt42')">rankIndex</a></td><tdclass=SDescription>The index this cell is in the model rank.</td></tr><trclass="SVariable SIndent1 SMarked"><tdclass=SEntry><ahref="#WeightedCellSorter.cell"id=link59onMouseOver="ShowTip(event, 'tt43', 'link59')"onMouseOut="HideTip('tt43')">cell</a></td><tdclass=SDescription>The cell whose median value is being calculated.</td></tr><trclass="SGroup"><tdclass=SEntry><ahref="#WeightedCellSorter.Functions">Functions</a></td><tdclass=SDescription></td></tr><trclass="SFunction SIndent1 SMarked"><tdclass=SEntry><ahref="#WeightedCellSorter.compare"id=link60onMouseOver="ShowTip(event, 'tt44', 'link60')"onMouseOut="HideTip('tt44')">compare</a></td><tdclass=SDescription>Compares two WeightedCellSorters.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="WeightedCellSorter.WeightedCellSorter"></a>WeightedCellSorter</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>function WeightedCellSorter(</td><tdclass=PParameternowrap>cell,</td></tr><tr><td></td><tdclass=PParameternowrap>weightedValue</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote><p>Constructs a new weighted cell sorted for the given cell and weight.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="WeightedCellSorter.weightedValue"></a>weightedValue</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>WeightedCellSorter.prototype.weightedValue</td></tr></table></blockquote><p>The weighted value of the cell stored.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="WeightedCellSorter.nudge"></a>nudge</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>WeightedCellSorter.prototype.nudge</td></tr></table></blockquote><p>Whether or not to flip equal weight values.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="WeightedCellSorter.visited"></a>visited</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>WeightedCellSorter.prototype.visited</td></tr></table></blockquote><p>Whether or not this cell has been visited in the current assignment.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="WeightedCellSorter.rankIndex"></a>rankIndex</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>WeightedCellSorter.prototype.rankIndex</td></tr></table></blockquote><p>The index this cell is in the model rank.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="WeightedCellSorter.cell"></a>cell</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>WeightedCellSorter.prototype.cell</td></tr></table></blockquote><p>The cell whose median value is being calculated.</p></div></div></div>
<divclass=CToolTipid="tt1"><divclass=CClass>Base class for all layout algorithms in mxGraph. </div></div><divclass=CToolTipid="tt2"><divclass=CFunction><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass=PBeforeParametersnowrap>function mxCompactTreeLayout(</td><tdclass=PParameternowrap>graph,</td></tr><tr><td></td><tdclass=PParameternowrap>horizontal,</td></tr><tr><td></td><tdclass=PParameternowrap>invert</td><tdclass=PAfterParametersnowrap>)</td></tr></table></td></tr></table></blockquote>Constructs a new compact tree layout for the specified graph and orientation.</div></div><divclass=CToolTipid="tt3"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.horizontal</td></tr></table></blockquote>Specifies the orientation of the layout. </div></div><divclass=CToolTipid="tt4"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.invert</td></tr></table></blockquote>Specifies if edge directions should be inverted. </div></div><divclass=CToolTipid="tt5"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.resizeParent</td></tr></table></blockquote>If the parents should be resized to match the width/height of the children. </div></div><divclass=CToolTipid="tt6"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.groupPadding</td></tr></table></blockquote>Padding added to resized parents</div></div><divclass=CToolTipid="tt7"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.parentsChanged</td></tr></table></blockquote>A set of the parents that need updating based on children process as part of the layout</div></div><divclass=CToolTipid="tt8"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.moveTree</td></tr></table></blockquote>Specifies if the tree should be moved to the top, left corner if it is inside a top-level layer. </div></div><divclass=CToolTipid="tt9"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.levelDistance</td></tr></table></blockquote>Holds the levelDistance. </div></div><divclass=CToolTipid="tt10"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.nodeDistance</td></tr></table></blockquote>Holds the nodeDistance. </div></div><divclass=CToolTipid="tt11"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.resetEdges</td></tr></table></blockquote>Specifies if all edge points of traversed edges should be removed. </div></div><divclass=CToolTipid="tt12"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.prefHozEdgeSep</td></tr></table></blockquote>The preferred horizontal distance between edges exiting a vertex</div></div><divclass=CToolTipid="tt13"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.prefVertEdgeOff</td></tr></table></blockquote>The preferred vertical offset between edges exiting a vertex</div></div><divclass=CToolTipid="tt14"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype prettyprint"><tr><td>mxCompactTreeLayout.prototype.minEdgeJetty</td></tr></table></blockquote>The minimum distance for an edge jetty