maxGraph/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html

719 lines
37 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_171) on Fri Jul 06 13:50:04 UTC 2018 -->
<title>mxGraphHierarchyModel (mxGraph 3.9.8 API Specification)</title>
<meta name="date" content="2018-07-06">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="mxGraphHierarchyModel (mxGraph 3.9.8 API Specification)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/mxGraphHierarchyModel.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><p><b>mxGraph 3.9.8</b></p></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyEdge.html" title="class in com.mxgraph.layout.hierarchical.model"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.CellVisitor.html" title="interface in com.mxgraph.layout.hierarchical.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html" target="_top">Frames</a></li>
<li><a href="mxGraphHierarchyModel.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.mxgraph.layout.hierarchical.model</div>
<h2 title="Class mxGraphHierarchyModel" class="title">Class mxGraphHierarchyModel</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.mxgraph.layout.hierarchical.model.mxGraphHierarchyModel</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">mxGraphHierarchyModel</span>
extends java.lang.Object</pre>
<div class="block">Internal model of a hierarchical graph. This model stores nodes and edges
equivalent to the real graph nodes and edges, but also stores the rank of the
cells, the order within the ranks and the new candidate locations of cells.
The internal model also reverses edge direction were appropriate , ignores
self-loop and groups parallels together under one edge object.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.CellVisitor.html" title="interface in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyModel.CellVisitor</a></span></code>
<div class="block">Defines the interface that visitors use to perform operations upon the
graph information during depth first search (dfs) or other tree-traversal
strategies implemented by subclassers.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#dfsCount">dfsCount</a></span></code>
<div class="block">Count of the number of times the ancestor dfs has been used</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.util.Map&lt;java.lang.Object,<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyEdge.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyEdge</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#edgeMapper">edgeMapper</a></span></code>
<div class="block">Map from graph edges to internal model edges</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#maxRank">maxRank</a></span></code>
<div class="block">Stores the largest rank number allocated</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#parent">parent</a></span></code>
<div class="block">The parent cell whose children are being laid out</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyRank.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyRank</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#ranks">ranks</a></span></code>
<div class="block">Mapping from rank number to actual rank</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.Object&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#roots">roots</a></span></code>
<div class="block">Store of roots of this hierarchy model, these are real graph cells, not
internal cells</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.util.Map&lt;java.lang.Object,<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#vertexMapper">vertexMapper</a></span></code>
<div class="block">Map from graph vertices to internal model nodes</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#mxGraphHierarchyModel-com.mxgraph.layout.hierarchical.mxHierarchicalLayout-java.lang.Object:A-java.util.List-java.lang.Object-">mxGraphHierarchyModel</a></span>(<a href="../../../../../com/mxgraph/layout/hierarchical/mxHierarchicalLayout.html" title="class in com.mxgraph.layout.hierarchical">mxHierarchicalLayout</a>&nbsp;layout,
java.lang.Object[]&nbsp;vertices,
java.util.List&lt;java.lang.Object&gt;&nbsp;roots,
java.lang.Object&nbsp;parent)</code>
<div class="block">Creates an internal ordered graph model using the vertices passed in.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#createInternalCells-com.mxgraph.layout.hierarchical.mxHierarchicalLayout-java.lang.Object:A-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyNode:A-">createInternalCells</a></span>(<a href="../../../../../com/mxgraph/layout/hierarchical/mxHierarchicalLayout.html" title="class in com.mxgraph.layout.hierarchical">mxHierarchicalLayout</a>&nbsp;layout,
java.lang.Object[]&nbsp;vertices,
<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>[]&nbsp;internalVertices)</code>
<div class="block">Creates all edges in the internal model</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#dfs-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyNode-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyNode-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyEdge-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyModel.CellVisitor-java.util.Set-int-">dfs</a></span>(<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&nbsp;parent,
<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&nbsp;root,
<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyEdge.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyEdge</a>&nbsp;connectingEdge,
<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.CellVisitor.html" title="interface in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyModel.CellVisitor</a>&nbsp;visitor,
java.util.Set&lt;<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&gt;&nbsp;seen,
int&nbsp;layer)</code>
<div class="block">Performs a depth first search on the internal hierarchy model</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#dfs-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyNode-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyNode-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyEdge-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyModel.CellVisitor-java.util.Set-int:A-int-int-">dfs</a></span>(<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&nbsp;parent,
<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&nbsp;root,
<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyEdge.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyEdge</a>&nbsp;connectingEdge,
<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.CellVisitor.html" title="interface in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyModel.CellVisitor</a>&nbsp;visitor,
java.util.Set&lt;<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&gt;&nbsp;seen,
int[]&nbsp;ancestors,
int&nbsp;childHash,
int&nbsp;layer)</code>
<div class="block">Performs a depth first search on the internal hierarchy model.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#fixRanks--">fixRanks</a></span>()</code>
<div class="block">Fixes the layer assignments to the values stored in the nodes.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#getDfsCount--">getDfsCount</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.Object,<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyEdge.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyEdge</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#getEdgeMapper--">getEdgeMapper</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.Object,<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#getVertexMapper--">getVertexMapper</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#initialRank--">initialRank</a></span>()</code>
<div class="block">Basic determination of minimum layer ranking by working from from sources
or sinks and working through each node in the relevant edge direction.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#setDfsCount-int-">setDfsCount</a></span>(int&nbsp;dfsCount)</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#setEdgeMapper-java.util.Map-">setEdgeMapper</a></span>(java.util.Map&lt;java.lang.Object,<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyEdge.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyEdge</a>&gt;&nbsp;edgeMapper)</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#setVertexMapper-java.util.Map-">setVertexMapper</a></span>(java.util.Map&lt;java.lang.Object,<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&gt;&nbsp;vertexMapping)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html#visit-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyModel.CellVisitor-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyNode:A-boolean-java.util.Set-">visit</a></span>(<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.CellVisitor.html" title="interface in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyModel.CellVisitor</a>&nbsp;visitor,
<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>[]&nbsp;dfsRoots,
boolean&nbsp;trackAncestors,
java.util.Set&lt;<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&gt;&nbsp;seenNodes)</code>
<div class="block">A depth first search through the internal hierarchy model</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="maxRank">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxRank</h4>
<pre>public&nbsp;int maxRank</pre>
<div class="block">Stores the largest rank number allocated</div>
</li>
</ul>
<a name="vertexMapper">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vertexMapper</h4>
<pre>protected&nbsp;java.util.Map&lt;java.lang.Object,<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&gt; vertexMapper</pre>
<div class="block">Map from graph vertices to internal model nodes</div>
</li>
</ul>
<a name="edgeMapper">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>edgeMapper</h4>
<pre>protected&nbsp;java.util.Map&lt;java.lang.Object,<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyEdge.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyEdge</a>&gt; edgeMapper</pre>
<div class="block">Map from graph edges to internal model edges</div>
</li>
</ul>
<a name="ranks">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ranks</h4>
<pre>public&nbsp;java.util.Map&lt;java.lang.Integer,<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyRank.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyRank</a>&gt; ranks</pre>
<div class="block">Mapping from rank number to actual rank</div>
</li>
</ul>
<a name="roots">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>roots</h4>
<pre>public&nbsp;java.util.List&lt;java.lang.Object&gt; roots</pre>
<div class="block">Store of roots of this hierarchy model, these are real graph cells, not
internal cells</div>
</li>
</ul>
<a name="parent">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parent</h4>
<pre>public&nbsp;java.lang.Object parent</pre>
<div class="block">The parent cell whose children are being laid out</div>
</li>
</ul>
<a name="dfsCount">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>dfsCount</h4>
<pre>protected&nbsp;int dfsCount</pre>
<div class="block">Count of the number of times the ancestor dfs has been used</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="mxGraphHierarchyModel-com.mxgraph.layout.hierarchical.mxHierarchicalLayout-java.lang.Object:A-java.util.List-java.lang.Object-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>mxGraphHierarchyModel</h4>
<pre>public&nbsp;mxGraphHierarchyModel(<a href="../../../../../com/mxgraph/layout/hierarchical/mxHierarchicalLayout.html" title="class in com.mxgraph.layout.hierarchical">mxHierarchicalLayout</a>&nbsp;layout,
java.lang.Object[]&nbsp;vertices,
java.util.List&lt;java.lang.Object&gt;&nbsp;roots,
java.lang.Object&nbsp;parent)</pre>
<div class="block">Creates an internal ordered graph model using the vertices passed in. If
there are any, leftward edge need to be inverted in the internal model</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>layout</code> - the enclosing layout object</dd>
<dd><code>vertices</code> - the vertices for this hierarchy</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="createInternalCells-com.mxgraph.layout.hierarchical.mxHierarchicalLayout-java.lang.Object:A-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyNode:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createInternalCells</h4>
<pre>protected&nbsp;void&nbsp;createInternalCells(<a href="../../../../../com/mxgraph/layout/hierarchical/mxHierarchicalLayout.html" title="class in com.mxgraph.layout.hierarchical">mxHierarchicalLayout</a>&nbsp;layout,
java.lang.Object[]&nbsp;vertices,
<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>[]&nbsp;internalVertices)</pre>
<div class="block">Creates all edges in the internal model</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>layout</code> - reference to the layout algorithm</dd>
<dd><code>vertices</code> - the vertices whom are to have an internal representation
created</dd>
<dd><code>internalVertices</code> - the blank internal vertices to have their information filled
in using the real vertices</dd>
</dl>
</li>
</ul>
<a name="initialRank--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialRank</h4>
<pre>public&nbsp;void&nbsp;initialRank()</pre>
<div class="block">Basic determination of minimum layer ranking by working from from sources
or sinks and working through each node in the relevant edge direction.
Starting at the sinks is basically a longest path layering algorithm.</div>
</li>
</ul>
<a name="fixRanks--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fixRanks</h4>
<pre>public&nbsp;void&nbsp;fixRanks()</pre>
<div class="block">Fixes the layer assignments to the values stored in the nodes. Also needs
to create dummy nodes for edges that cross layers.</div>
</li>
</ul>
<a name="visit-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyModel.CellVisitor-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyNode:A-boolean-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visit</h4>
<pre>public&nbsp;void&nbsp;visit(<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.CellVisitor.html" title="interface in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyModel.CellVisitor</a>&nbsp;visitor,
<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>[]&nbsp;dfsRoots,
boolean&nbsp;trackAncestors,
java.util.Set&lt;<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&gt;&nbsp;seenNodes)</pre>
<div class="block">A depth first search through the internal hierarchy model</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>visitor</code> - the visitor pattern to be called for each node</dd>
<dd><code>trackAncestors</code> - whether or not the search is to keep track all nodes directly
above this one in the search path</dd>
</dl>
</li>
</ul>
<a name="dfs-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyNode-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyNode-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyEdge-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyModel.CellVisitor-java.util.Set-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dfs</h4>
<pre>public&nbsp;void&nbsp;dfs(<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&nbsp;parent,
<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&nbsp;root,
<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyEdge.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyEdge</a>&nbsp;connectingEdge,
<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.CellVisitor.html" title="interface in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyModel.CellVisitor</a>&nbsp;visitor,
java.util.Set&lt;<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&gt;&nbsp;seen,
int&nbsp;layer)</pre>
<div class="block">Performs a depth first search on the internal hierarchy model</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parent</code> - the parent internal node of the current internal node</dd>
<dd><code>root</code> - the current internal node</dd>
<dd><code>connectingEdge</code> - the internal edge connecting the internal node and the parent
internal node, if any</dd>
<dd><code>visitor</code> - the visitor pattern to be called for each node</dd>
<dd><code>seen</code> - a set of all nodes seen by this dfs a set of all of the
ancestor node of the current node</dd>
<dd><code>layer</code> - the layer on the dfs tree ( not the same as the model ranks )</dd>
</dl>
</li>
</ul>
<a name="dfs-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyNode-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyNode-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyEdge-com.mxgraph.layout.hierarchical.model.mxGraphHierarchyModel.CellVisitor-java.util.Set-int:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dfs</h4>
<pre>public&nbsp;void&nbsp;dfs(<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&nbsp;parent,
<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&nbsp;root,
<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyEdge.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyEdge</a>&nbsp;connectingEdge,
<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.CellVisitor.html" title="interface in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyModel.CellVisitor</a>&nbsp;visitor,
java.util.Set&lt;<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&gt;&nbsp;seen,
int[]&nbsp;ancestors,
int&nbsp;childHash,
int&nbsp;layer)</pre>
<div class="block">Performs a depth first search on the internal hierarchy model. This dfs
extends the default version by keeping track of cells ancestors, but it
should be only used when necessary because of it can be computationally
intensive for deep searches.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parent</code> - the parent internal node of the current internal node</dd>
<dd><code>root</code> - the current internal node</dd>
<dd><code>connectingEdge</code> - the internal edge connecting the internal node and the parent
internal node, if any</dd>
<dd><code>visitor</code> - the visitor pattern to be called for each node</dd>
<dd><code>seen</code> - a set of all nodes seen by this dfs</dd>
<dd><code>ancestors</code> - the parent hash code</dd>
<dd><code>childHash</code> - the new hash code for this node</dd>
<dd><code>layer</code> - the layer on the dfs tree ( not the same as the model ranks )</dd>
</dl>
</li>
</ul>
<a name="getVertexMapper--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVertexMapper</h4>
<pre>public&nbsp;java.util.Map&lt;java.lang.Object,<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&gt;&nbsp;getVertexMapper()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the vertexMapping.</dd>
</dl>
</li>
</ul>
<a name="setVertexMapper-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setVertexMapper</h4>
<pre>public&nbsp;void&nbsp;setVertexMapper(java.util.Map&lt;java.lang.Object,<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyNode</a>&gt;&nbsp;vertexMapping)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>vertexMapping</code> - The vertexMapping to set.</dd>
</dl>
</li>
</ul>
<a name="getEdgeMapper--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEdgeMapper</h4>
<pre>public&nbsp;java.util.Map&lt;java.lang.Object,<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyEdge.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyEdge</a>&gt;&nbsp;getEdgeMapper()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the edgeMapper.</dd>
</dl>
</li>
</ul>
<a name="setEdgeMapper-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEdgeMapper</h4>
<pre>public&nbsp;void&nbsp;setEdgeMapper(java.util.Map&lt;java.lang.Object,<a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyEdge.html" title="class in com.mxgraph.layout.hierarchical.model">mxGraphHierarchyEdge</a>&gt;&nbsp;edgeMapper)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>edgeMapper</code> - The edgeMapper to set.</dd>
</dl>
</li>
</ul>
<a name="getDfsCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDfsCount</h4>
<pre>public&nbsp;int&nbsp;getDfsCount()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the dfsCount.</dd>
</dl>
</li>
</ul>
<a name="setDfsCount-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setDfsCount</h4>
<pre>public&nbsp;void&nbsp;setDfsCount(int&nbsp;dfsCount)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dfsCount</code> - The dfsCount to set.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/mxGraphHierarchyModel.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><p><b>mxGraph 3.9.8</b></p></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyEdge.html" title="class in com.mxgraph.layout.hierarchical.model"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.CellVisitor.html" title="interface in com.mxgraph.layout.hierarchical.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html" target="_top">Frames</a></li>
<li><a href="mxGraphHierarchyModel.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><font size=1>Copyright (c) 2010-2017 <a href="http://www.jgraph.com/"
target="_blank">Gaudenz Alder, JGraph Ltd</a>. All rights reserved.</font></small></p>
</body>
</html>