maxGraph/java/docs/com/mxgraph/analysis/mxTraversal.html

477 lines
28 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_101) on Wed Apr 12 14:46:39 CEST 2017 -->
<title>mxTraversal (mxGraph 3.7.2 API Specification)</title>
<meta name="date" content="2017-04-12">
<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="mxTraversal (mxGraph 3.7.2 API Specification)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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/mxTraversal.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.7.2</b></p></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../com/mxgraph/analysis/mxICostFunction.html" title="interface in com.mxgraph.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../com/mxgraph/analysis/mxUnionFind.html" title="class in com.mxgraph.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?com/mxgraph/analysis/mxTraversal.html" target="_top">Frames</a></li>
<li><a href="mxTraversal.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>Nested&nbsp;|&nbsp;</li>
<li>Field&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>Field&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.analysis</div>
<h2 title="Class mxTraversal" class="title">Class mxTraversal</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.mxgraph.analysis.mxTraversal</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">mxTraversal</span>
extends <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Implements a collection of utility methods for traversing the
graph structure. This does not include tree traversal methods.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== 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/analysis/mxTraversal.html#mxTraversal--">mxTraversal</a></span>()</code>&nbsp;</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="t1" class="tableTab"><span><a href="javascript:show(1);">Static 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>static <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/mxgraph/analysis/mxTraversal.html#bellmanFord-com.mxgraph.analysis.mxAnalysisGraph-java.lang.Object-">bellmanFord</a></span>(<a href="../../../com/mxgraph/analysis/mxAnalysisGraph.html" title="class in com.mxgraph.analysis">mxAnalysisGraph</a>&nbsp;aGraph,
<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;startVertex)</code>
<div class="block">Implements the Bellman-Ford shortest path from startVertex to all vertices.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/mxgraph/analysis/mxTraversal.html#bfs-com.mxgraph.analysis.mxAnalysisGraph-java.lang.Object-com.mxgraph.view.mxGraph.mxICellVisitor-">bfs</a></span>(<a href="../../../com/mxgraph/analysis/mxAnalysisGraph.html" title="class in com.mxgraph.analysis">mxAnalysisGraph</a>&nbsp;aGraph,
<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;startVertex,
<a href="../../../com/mxgraph/view/mxGraph.mxICellVisitor.html" title="interface in com.mxgraph.view">mxGraph.mxICellVisitor</a>&nbsp;visitor)</code>
<div class="block">Implements a recursive breadth first search starting from the specified
cell.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/mxgraph/analysis/mxTraversal.html#dfs-com.mxgraph.analysis.mxAnalysisGraph-java.lang.Object-com.mxgraph.view.mxGraph.mxICellVisitor-">dfs</a></span>(<a href="../../../com/mxgraph/analysis/mxAnalysisGraph.html" title="class in com.mxgraph.analysis">mxAnalysisGraph</a>&nbsp;aGraph,
<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;startVertex,
<a href="../../../com/mxgraph/view/mxGraph.mxICellVisitor.html" title="interface in com.mxgraph.view">mxGraph.mxICellVisitor</a>&nbsp;visitor)</code>
<div class="block">Implements a recursive depth first search starting from the specified
cell.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/mxgraph/analysis/mxTraversal.html#dijkstra-com.mxgraph.analysis.mxAnalysisGraph-java.lang.Object-java.lang.Object-com.mxgraph.view.mxGraph.mxICellVisitor-">dijkstra</a></span>(<a href="../../../com/mxgraph/analysis/mxAnalysisGraph.html" title="class in com.mxgraph.analysis">mxAnalysisGraph</a>&nbsp;aGraph,
<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;startVertex,
<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;endVertex,
<a href="../../../com/mxgraph/view/mxGraph.mxICellVisitor.html" title="interface in com.mxgraph.view">mxGraph.mxICellVisitor</a>&nbsp;visitor)</code>
<div class="block">Implements the Dijkstra's shortest path from startVertex to endVertex.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[][]&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/mxgraph/analysis/mxTraversal.html#floydRoyWarshall-com.mxgraph.analysis.mxAnalysisGraph-">floydRoyWarshall</a></span>(<a href="../../../com/mxgraph/analysis/mxAnalysisGraph.html" title="class in com.mxgraph.analysis">mxAnalysisGraph</a>&nbsp;aGraph)</code>
<div class="block">Implements the Floyd-Roy-Warshall (aka WFI) shortest path algorithm between all vertices.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/mxgraph/analysis/mxTraversal.html#getWFIPath-com.mxgraph.analysis.mxAnalysisGraph-java.util.ArrayList-java.lang.Object-java.lang.Object-">getWFIPath</a></span>(<a href="../../../com/mxgraph/analysis/mxAnalysisGraph.html" title="class in com.mxgraph.analysis">mxAnalysisGraph</a>&nbsp;aGraph,
<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[][]&gt;&nbsp;FWIresult,
<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;startVertex,
<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;targetVertex)</code>
<div class="block">This method helps the user to get the desired data from the result of the Floyd-Roy-Warshall algorithm.</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.<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="mxTraversal--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>mxTraversal</h4>
<pre>public&nbsp;mxTraversal()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="dfs-com.mxgraph.analysis.mxAnalysisGraph-java.lang.Object-com.mxgraph.view.mxGraph.mxICellVisitor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dfs</h4>
<pre>public static&nbsp;void&nbsp;dfs(<a href="../../../com/mxgraph/analysis/mxAnalysisGraph.html" title="class in com.mxgraph.analysis">mxAnalysisGraph</a>&nbsp;aGraph,
<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;startVertex,
<a href="../../../com/mxgraph/view/mxGraph.mxICellVisitor.html" title="interface in com.mxgraph.view">mxGraph.mxICellVisitor</a>&nbsp;visitor)</pre>
<div class="block">Implements a recursive depth first search starting from the specified
cell. Process on the cell is performing by the visitor class passed in.
The visitor has access to the current cell and the edge traversed to
find this cell. Every cell is processed once only.
<pre>
mxTraversal.bfs(analysisGraph, startVertex, new mxICellVisitor()
{
public boolean visit(Object vertex, Object edge)
{
// perform your processing on each cell here
return false;
}
});
</pre></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>aGraph</code> - the graph</dd>
<dd><code>startVertex</code> - </dd>
<dd><code>visitor</code> - </dd>
</dl>
</li>
</ul>
<a name="bfs-com.mxgraph.analysis.mxAnalysisGraph-java.lang.Object-com.mxgraph.view.mxGraph.mxICellVisitor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bfs</h4>
<pre>public static&nbsp;void&nbsp;bfs(<a href="../../../com/mxgraph/analysis/mxAnalysisGraph.html" title="class in com.mxgraph.analysis">mxAnalysisGraph</a>&nbsp;aGraph,
<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;startVertex,
<a href="../../../com/mxgraph/view/mxGraph.mxICellVisitor.html" title="interface in com.mxgraph.view">mxGraph.mxICellVisitor</a>&nbsp;visitor)</pre>
<div class="block">Implements a recursive breadth first search starting from the specified
cell. Process on the cell is performing by the visitor class passed in.
The visitor has access to the current cell and the edge traversed to
find this cell. Every cell is processed once only.
<pre>
mxTraversal.bfs(analysisGraph, startVertex, new mxICellVisitor()
{
public boolean visit(Object vertex, Object edge)
{
// perform your processing on each cell here
return false;
}
});
</pre></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>aGraph</code> - the graph</dd>
<dd><code>startVertex</code> - </dd>
<dd><code>visitor</code> - </dd>
</dl>
</li>
</ul>
<a name="dijkstra-com.mxgraph.analysis.mxAnalysisGraph-java.lang.Object-java.lang.Object-com.mxgraph.view.mxGraph.mxICellVisitor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dijkstra</h4>
<pre>public static&nbsp;void&nbsp;dijkstra(<a href="../../../com/mxgraph/analysis/mxAnalysisGraph.html" title="class in com.mxgraph.analysis">mxAnalysisGraph</a>&nbsp;aGraph,
<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;startVertex,
<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;endVertex,
<a href="../../../com/mxgraph/view/mxGraph.mxICellVisitor.html" title="interface in com.mxgraph.view">mxGraph.mxICellVisitor</a>&nbsp;visitor)
throws <a href="../../../com/mxgraph/analysis/StructuralException.html" title="class in com.mxgraph.analysis">StructuralException</a></pre>
<div class="block">Implements the Dijkstra's shortest path from startVertex to endVertex.
Process on the cell is performing by the visitor class passed in.
The visitor has access to the current cell and the edge traversed to
find this cell. Every cell is processed once only.
<pre>
mxTraversal.dijkstra(analysisGraph, startVertex, endVertex, new mxICellVisitor()
{
public boolean visit(Object vertex, Object edge)
{
// perform your processing on each cell here
return false;
}
});
</pre></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>aGraph</code> - </dd>
<dd><code>startVertex</code> - </dd>
<dd><code>endVertex</code> - </dd>
<dd><code>visitor</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../com/mxgraph/analysis/StructuralException.html" title="class in com.mxgraph.analysis">StructuralException</a></code> - - The current Dijkstra algorithm only works for connected graphs</dd>
</dl>
</li>
</ul>
<a name="bellmanFord-com.mxgraph.analysis.mxAnalysisGraph-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bellmanFord</h4>
<pre>public static&nbsp;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;bellmanFord(<a href="../../../com/mxgraph/analysis/mxAnalysisGraph.html" title="class in com.mxgraph.analysis">mxAnalysisGraph</a>&nbsp;aGraph,
<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;startVertex)
throws <a href="../../../com/mxgraph/analysis/StructuralException.html" title="class in com.mxgraph.analysis">StructuralException</a></pre>
<div class="block">Implements the Bellman-Ford shortest path from startVertex to all vertices.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>aGraph</code> - </dd>
<dd><code>startVertex</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a List where List(0) is the distance map and List(1) is the parent map. See the example in GraphConfigDialog.java</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../com/mxgraph/analysis/StructuralException.html" title="class in com.mxgraph.analysis">StructuralException</a></code> - - The Bellman-Ford algorithm only works for graphs without negative cycles</dd>
</dl>
</li>
</ul>
<a name="floydRoyWarshall-com.mxgraph.analysis.mxAnalysisGraph-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>floydRoyWarshall</h4>
<pre>public static&nbsp;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[][]&gt;&nbsp;floydRoyWarshall(<a href="../../../com/mxgraph/analysis/mxAnalysisGraph.html" title="class in com.mxgraph.analysis">mxAnalysisGraph</a>&nbsp;aGraph)
throws <a href="../../../com/mxgraph/analysis/StructuralException.html" title="class in com.mxgraph.analysis">StructuralException</a></pre>
<div class="block">Implements the Floyd-Roy-Warshall (aka WFI) shortest path algorithm between all vertices.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>aGraph</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an ArrayList where ArrayList(0) is the distance map and List(1) is the path map. See the example in GraphConfigDialog.java</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../com/mxgraph/analysis/StructuralException.html" title="class in com.mxgraph.analysis">StructuralException</a></code> - - The Floyd-Roy-Warshall algorithm only works for graphs without negative cycles</dd>
</dl>
</li>
</ul>
<a name="getWFIPath-com.mxgraph.analysis.mxAnalysisGraph-java.util.ArrayList-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getWFIPath</h4>
<pre>public static&nbsp;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;getWFIPath(<a href="../../../com/mxgraph/analysis/mxAnalysisGraph.html" title="class in com.mxgraph.analysis">mxAnalysisGraph</a>&nbsp;aGraph,
<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[][]&gt;&nbsp;FWIresult,
<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;startVertex,
<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;targetVertex)
throws <a href="../../../com/mxgraph/analysis/StructuralException.html" title="class in com.mxgraph.analysis">StructuralException</a></pre>
<div class="block">This method helps the user to get the desired data from the result of the Floyd-Roy-Warshall algorithm.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>aGraph</code> - </dd>
<dd><code>FWIresult</code> - - the result of the Floyd-Roy-Warhall algorithm</dd>
<dd><code>startVertex</code> - </dd>
<dd><code>targetVertex</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>returns the shortest path from <b>startVertex</b> to <b>endVertex</b></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../com/mxgraph/analysis/StructuralException.html" title="class in com.mxgraph.analysis">StructuralException</a></code> - - The Floyd-Roy-Warshall algorithm only works for graphs without negative cycles</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/mxTraversal.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.7.2</b></p></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../com/mxgraph/analysis/mxICostFunction.html" title="interface in com.mxgraph.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../com/mxgraph/analysis/mxUnionFind.html" title="class in com.mxgraph.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?com/mxgraph/analysis/mxTraversal.html" target="_top">Frames</a></li>
<li><a href="mxTraversal.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>Nested&nbsp;|&nbsp;</li>
<li>Field&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>Field&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 <a href="http://www.mxgraph.com/"
target="_blank">Gaudenz Alder, David Benson</a>. All rights reserved.</font></small></p>
</body>
</html>