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

444 lines
28 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_43) on Fri Mar 14 13:14:23 GMT 2014 -->
<TITLE>
mxTraversal (mxGraph 2.5.0.3 API Specification)
</TITLE>
<META NAME="date" CONTENT="2014-03-14">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="mxTraversal (mxGraph 2.5.0.3 API Specification)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/mxTraversal.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<p><b>mxGraph 2.5.0.3</b></p></EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../com/mxgraph/analysis/mxICostFunction.html" title="interface in com.mxgraph.analysis"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../com/mxgraph/analysis/mxUnionFind.html" title="class in com.mxgraph.analysis"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?com/mxgraph/analysis/mxTraversal.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="mxTraversal.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
com.mxgraph.analysis</FONT>
<BR>
Class mxTraversal</H2>
<PRE>
<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>
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>com.mxgraph.analysis.mxTraversal</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>mxTraversal</B><DT>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></DL>
</PRE>
<P>
Implements a collection of utility methods for traversing the
graph structure. This does not include tree traversal methods.
<P>
<P>
<HR>
<P>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../com/mxgraph/analysis/mxTraversal.html#mxTraversal()">mxTraversal</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>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;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/mxgraph/analysis/mxTraversal.html#bellmanFord(com.mxgraph.analysis.mxAnalysisGraph, java.lang.Object)">bellmanFord</A></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implements the Bellman-Ford shortest path from startVertex to all vertices.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/mxgraph/analysis/mxTraversal.html#bfs(com.mxgraph.analysis.mxAnalysisGraph, java.lang.Object, com.mxgraph.view.mxGraph.mxICellVisitor)">bfs</A></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implements a recursive breadth first search starting from the specified
cell.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/mxgraph/analysis/mxTraversal.html#dfs(com.mxgraph.analysis.mxAnalysisGraph, java.lang.Object, com.mxgraph.view.mxGraph.mxICellVisitor)">dfs</A></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implements a recursive depth first search starting from the specified
cell.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><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></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implements the Dijkstra's shortest path from startVertex to endVertex.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>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;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/mxgraph/analysis/mxTraversal.html#floydRoyWarshall(com.mxgraph.analysis.mxAnalysisGraph)">floydRoyWarshall</A></B>(<A HREF="../../../com/mxgraph/analysis/mxAnalysisGraph.html" title="class in com.mxgraph.analysis">mxAnalysisGraph</A>&nbsp;aGraph)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implements the Floyd-Roy-Warshall (aka WFI) shortest path algorithm between all vertices.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>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>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/mxgraph/analysis/mxTraversal.html#getWFIPath(com.mxgraph.analysis.mxAnalysisGraph, java.util.ArrayList, java.lang.Object, java.lang.Object)">getWFIPath</A></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method helps the user to get the desired data from the result of the Floyd-Roy-Warshall algorithm.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class 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></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><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></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="mxTraversal()"><!-- --></A><H3>
mxTraversal</H3>
<PRE>
public <B>mxTraversal</B>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="dfs(com.mxgraph.analysis.mxAnalysisGraph, java.lang.Object, com.mxgraph.view.mxGraph.mxICellVisitor)"><!-- --></A><H3>
dfs</H3>
<PRE>
public static void <B>dfs</B>(<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>
<DL>
<DD>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>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>aGraph</CODE> - the graph<DD><CODE>startVertex</CODE> - <DD><CODE>visitor</CODE> - </DL>
</DD>
</DL>
<HR>
<A NAME="bfs(com.mxgraph.analysis.mxAnalysisGraph, java.lang.Object, com.mxgraph.view.mxGraph.mxICellVisitor)"><!-- --></A><H3>
bfs</H3>
<PRE>
public static void <B>bfs</B>(<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>
<DL>
<DD>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>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>aGraph</CODE> - the graph<DD><CODE>startVertex</CODE> - <DD><CODE>visitor</CODE> - </DL>
</DD>
</DL>
<HR>
<A NAME="dijkstra(com.mxgraph.analysis.mxAnalysisGraph, java.lang.Object, java.lang.Object, com.mxgraph.view.mxGraph.mxICellVisitor)"><!-- --></A><H3>
dijkstra</H3>
<PRE>
public static void <B>dijkstra</B>(<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>
<DL>
<DD>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>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>aGraph</CODE> - <DD><CODE>startVertex</CODE> - <DD><CODE>endVertex</CODE> - <DD><CODE>visitor</CODE> -
<DT><B>Throws:</B>
<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</DL>
</DD>
</DL>
<HR>
<A NAME="bellmanFord(com.mxgraph.analysis.mxAnalysisGraph, java.lang.Object)"><!-- --></A><H3>
bellmanFord</H3>
<PRE>
public 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; <B>bellmanFord</B>(<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>
<DL>
<DD>Implements the Bellman-Ford shortest path from startVertex to all vertices.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>aGraph</CODE> - <DD><CODE>startVertex</CODE> -
<DT><B>Returns:</B><DD>a List where List(0) is the distance map and List(1) is the parent map. See the example in GraphConfigDialog.java
<DT><B>Throws:</B>
<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</DL>
</DD>
</DL>
<HR>
<A NAME="floydRoyWarshall(com.mxgraph.analysis.mxAnalysisGraph)"><!-- --></A><H3>
floydRoyWarshall</H3>
<PRE>
public 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; <B>floydRoyWarshall</B>(<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>
<DL>
<DD>Implements the Floyd-Roy-Warshall (aka WFI) shortest path algorithm between all vertices.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>aGraph</CODE> -
<DT><B>Returns:</B><DD>an ArrayList where ArrayList(0) is the distance map and List(1) is the path map. See the example in GraphConfigDialog.java
<DT><B>Throws:</B>
<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</DL>
</DD>
</DL>
<HR>
<A NAME="getWFIPath(com.mxgraph.analysis.mxAnalysisGraph, java.util.ArrayList, java.lang.Object, java.lang.Object)"><!-- --></A><H3>
getWFIPath</H3>
<PRE>
public 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>[] <B>getWFIPath</B>(<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>
<DL>
<DD>This method helps the user to get the desired data from the result of the Floyd-Roy-Warshall algorithm.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>aGraph</CODE> - <DD><CODE>FWIresult</CODE> - - the result of the Floyd-Roy-Warhall algorithm<DD><CODE>startVertex</CODE> - <DD><CODE>targetVertex</CODE> -
<DT><B>Returns:</B><DD>returns the shortest path from <b>startVertex</b> to <b>endVertex</b>
<DT><B>Throws:</B>
<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</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/mxTraversal.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<p><b>mxGraph 2.5.0.3</b></p></EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../com/mxgraph/analysis/mxICostFunction.html" title="interface in com.mxgraph.analysis"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../com/mxgraph/analysis/mxUnionFind.html" title="class in com.mxgraph.analysis"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?com/mxgraph/analysis/mxTraversal.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="mxTraversal.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
<font size=1>Copyright (c) 2010 <a href="http://www.mxgraph.com/"
target="_blank">Gaudenz Alder, David Benson</a>. All rights reserved.</font>
</BODY>
</HTML>