Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > e6f1a3debfddb2a6cccaab627266a0ea > files > 3403

mrpt-doc-0.9.0-0.5.fc14.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>The MRPT project: mrpt::math::CDijkstra&lt; TYPE_EDGES &gt; Class Template Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.6.2-20100208 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacemrpt.html">mrpt</a>::<a class="el" href="namespacemrpt_1_1math.html">math</a>::<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html">CDijkstra</a>
  </div>
</div>
<div class="contents">
<h1>mrpt::math::CDijkstra&lt; TYPE_EDGES &gt; Class Template Reference</h1><!-- doxytag: class="mrpt::math::CDijkstra" -->
<p>The Dijkstra algorithm for finding the shortest path between a given source node in a (weighted) directed graph and all other nodes.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="dijkstra_8h_source.html">mrpt/math/dijkstra.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for mrpt::math::CDijkstra&lt; TYPE_EDGES &gt;:</div>
<div class="dynsection">
<div class="center"><img src="classmrpt_1_1math_1_1_c_dijkstra__coll__graph.png" border="0" usemap="#mrpt_1_1math_1_1_c_dijkstra_3_01_t_y_p_e___e_d_g_e_s_01_4_coll__map" alt="Collaboration graph"/></div>
<map name="mrpt_1_1math_1_1_c_dijkstra_3_01_t_y_p_e___e_d_g_e_s_01_4_coll__map" id="mrpt_1_1math_1_1_c_dijkstra_3_01_t_y_p_e___e_d_g_e_s_01_4_coll__map">
<area shape="rect" id="node4" href="structmrpt_1_1math_1_1_c_dijkstra_1_1_t_distance.html" title="mrpt::math::CDijkstra\&lt; TYPE_EDGES \&gt;::TDistance" alt="" coords="7,8,335,37"/><area shape="rect" id="node8" href="structmrpt_1_1math_1_1_c_dijkstra_1_1_t_previous.html" title="mrpt::math::CDijkstra\&lt; TYPE_EDGES \&gt;::TPrevious" alt="" coords="7,61,335,91"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1math_1_1_c_dijkstra-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1math_1_1_c_dijkstra_1_1_t_distance.html">TDistance</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1math_1_1_c_dijkstra_1_1_t_previous.html">TPrevious</a></td></tr>
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type for node IDs.  <a href="#a8b8796a182b720204e8febad369276c9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::list&lt; std::pair<br class="typebreak"/>
&lt; <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>, <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a> &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#ab2b5aef34cf98ad509edb40d94721f9f">TListEdges</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A list of edges used to describe a path on the graph.  <a href="#ab2b5aef34cf98ad509edb40d94721f9f"></a><br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a1e6de1ceb7e1f71fed550a3fbaabbad1">CDijkstra</a> (const <a class="el" href="classmrpt_1_1math_1_1_c_directed_graph.html">mrpt::math::CDirectedGraph</a>&lt; TYPE_EDGES &gt; &amp;graph, const <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a> &amp;source_node_ID, double(*functor_edge_weight)(const TYPE_EDGES &amp;edge)=NULL)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor, which takes the input graph and executes the entire Dijkstra algorithm.  <a href="#a1e6de1ceb7e1f71fed550a3fbaabbad1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a92679fdb017feaf57362f624b52d6c26">getShortestPathTo</a> (const <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a> target_node_ID, <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#ab2b5aef34cf98ad509edb40d94721f9f">TListEdges</a> &amp;out_path) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the shortest path between the source node passed in the constructor and the given target node.  <a href="#a92679fdb017feaf57362f624b52d6c26"></a><br/></td></tr>
<tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#ab8e4b614fbb0fb9c1da88ced7329f4ff">INVALID_TNODEID</a> = static_cast&lt;<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>&gt;(-1)</td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::map&lt; <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>, <a class="el" href="structmrpt_1_1math_1_1_c_dijkstra_1_1_t_distance.html">TDistance</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#acf49dfb996e8f66f476871a56aebb96d">d</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::map&lt; <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>, <a class="el" href="structmrpt_1_1math_1_1_c_dijkstra_1_1_t_previous.html">TPrevious</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#abc7eb3cb836f0490b87d0058b9c4c091">previous</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::map&lt; <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>, std::pair<br class="typebreak"/>
&lt; <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>, <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a> &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a2c003a2d1d18c71d4edf9fb19438592d">previous_arcs</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::map&lt; <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>, bool &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a2e44849e0c84ecdffaffe064561423f7">visited</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a6402c98fb1a6c42d88eb7c7ff8fec5a7">m_source_node_ID</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;typename TYPE_EDGES&gt;<br/>
 class mrpt::math::CDijkstra&lt; TYPE_EDGES &gt;</h3>

<p>The Dijkstra algorithm for finding the shortest path between a given source node in a (weighted) directed graph and all other nodes. </p>
<p>The constructor takes as input the graph (the set of directed edges) computes all the needed data, then successive calls to "getShortestPathTo" return the paths very efficiently.</p>
<p>Graphs are represented by instances of (or classes derived from) <a class="el" href="classmrpt_1_1math_1_1_c_directed_graph.html" title="A directed graph with the argument of the template specifying the type of the annotations...">mrpt::math::CDirectedGraph</a> , and node's IDs are size_t values, although the type TNodeID is also provided for clarity.</p>
<p>See <a href="http://www.mrpt.org/Example:Dijkstra_optimal_path_search_in_graphs">this page on the wiki</a> for a complete example. </p>

<p>Definition at line <a class="el" href="dijkstra_8h_source.html#l00051">51</a> of file <a class="el" href="dijkstra_8h_source.html">dijkstra.h</a>.</p>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="ab2b5aef34cf98ad509edb40d94721f9f"></a><!-- doxytag: member="mrpt::math::CDijkstra::TListEdges" ref="ab2b5aef34cf98ad509edb40d94721f9f" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TYPE_EDGES &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef std::list&lt;std::pair&lt;<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>,<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>&gt; &gt; <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html">mrpt::math::CDijkstra</a>&lt; TYPE_EDGES &gt;::<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#ab2b5aef34cf98ad509edb40d94721f9f">TListEdges</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A list of edges used to describe a path on the graph. </p>

<p>Definition at line <a class="el" href="dijkstra_8h_source.html#l00055">55</a> of file <a class="el" href="dijkstra_8h_source.html">dijkstra.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8b8796a182b720204e8febad369276c9"></a><!-- doxytag: member="mrpt::math::CDijkstra::TNodeID" ref="a8b8796a182b720204e8febad369276c9" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TYPE_EDGES &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef size_t <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html">mrpt::math::CDijkstra</a>&lt; TYPE_EDGES &gt;::<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The type for node IDs. </p>

<p>Definition at line <a class="el" href="dijkstra_8h_source.html#l00054">54</a> of file <a class="el" href="dijkstra_8h_source.html">dijkstra.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a1e6de1ceb7e1f71fed550a3fbaabbad1"></a><!-- doxytag: member="mrpt::math::CDijkstra::CDijkstra" ref="a1e6de1ceb7e1f71fed550a3fbaabbad1" args="(const mrpt::math::CDirectedGraph&lt; TYPE_EDGES &gt; &amp;graph, const TNodeID &amp;source_node_ID, double(*functor_edge_weight)(const TYPE_EDGES &amp;edge)=NULL)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TYPE_EDGES &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html">mrpt::math::CDijkstra</a>&lt; TYPE_EDGES &gt;::<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html">CDijkstra</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1math_1_1_c_directed_graph.html">mrpt::math::CDirectedGraph</a>&lt; TYPE_EDGES &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>graph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>source_node_ID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double(*)(const TYPE_EDGES &amp;edge)&nbsp;</td>
          <td class="paramname"> <em>functor_edge_weight</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor, which takes the input graph and executes the entire Dijkstra algorithm. </p>
<p>The graph is given by its directed edges with a class such as:</p>
<div class="fragment"><pre class="fragment">    map&lt; pair&lt;size_t,size_t&gt;, TYPE_EDGES&gt;   myGraph;
</pre></div><p>If a function "functor_edge_weight" is provided which returns the weight of any given edge, then it will be used. Otherwise, all edges will weight equally.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a92679fdb017feaf57362f624b52d6c26" title="Returns the shortest path between the source node passed in the constructor and the...">getShortestPathTo</a> </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>std::exception</em>&nbsp;</td><td>If the source nodeID is not found in the graph </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dijkstra_8h_source.html#l00099">99</a> of file <a class="el" href="dijkstra_8h_source.html">dijkstra.h</a>.</p>

<p>References <a class="el" href="utils__defs_8h_source.html#l00376">ASSERT_</a>, <a class="el" href="dijkstra_8h_source.html#l00078">mrpt::math::CDijkstra&lt; TYPE_EDGES &gt;::d</a>, <a class="el" href="graphs_8h_source.html#l00055">mrpt::math::CDirectedGraph&lt; TYPE_EDGES &gt;::edges</a>, <a class="el" href="graphs_8h_source.html#l00064">mrpt::math::CDirectedGraph&lt; TYPE_EDGES &gt;::end()</a>, <a class="el" href="graphs_8h_source.html#l00107">mrpt::math::CDirectedGraph&lt; TYPE_EDGES &gt;::getAllNodes()</a>, <a class="el" href="graphs_8h_source.html#l00118">mrpt::math::CDirectedGraph&lt; TYPE_EDGES &gt;::getNeighborsOf()</a>, <a class="el" href="utils__defs_8h_source.html#l00466">MRPT_END</a>, <a class="el" href="utils__defs_8h_source.html#l00462">MRPT_START</a>, <a class="el" href="dijkstra_8h_source.html#l00079">mrpt::math::CDijkstra&lt; TYPE_EDGES &gt;::previous</a>, <a class="el" href="dijkstra_8h_source.html#l00080">mrpt::math::CDijkstra&lt; TYPE_EDGES &gt;::previous_arcs</a>, <a class="el" href="utils__defs_8h.html#a61a8d46146210ee20fa1ff423257a5ec">THROW_EXCEPTION_CUSTOM_MSG1</a>, and <a class="el" href="dijkstra_8h_source.html#l00081">mrpt::math::CDijkstra&lt; TYPE_EDGES &gt;::visited</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a92679fdb017feaf57362f624b52d6c26"></a><!-- doxytag: member="mrpt::math::CDijkstra::getShortestPathTo" ref="a92679fdb017feaf57362f624b52d6c26" args="(const TNodeID target_node_ID, TListEdges &amp;out_path) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TYPE_EDGES &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html">mrpt::math::CDijkstra</a>&lt; TYPE_EDGES &gt;::getShortestPathTo </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>&nbsp;</td>
          <td class="paramname"> <em>target_node_ID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#ab2b5aef34cf98ad509edb40d94721f9f">TListEdges</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>out_path</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the shortest path between the source node passed in the constructor and the given target node. </p>
<p>The reconstructed path contains a list of arcs (all of them exist in the graph with the given direction), such as the the first edge starts at the origin passed in the constructor, and the last one contains the given target.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>An empty list of edges is returned when target equals the source node. </dd></dl>

<p>Definition at line <a class="el" href="dijkstra_8h_source.html#l00198">198</a> of file <a class="el" href="dijkstra_8h_source.html">dijkstra.h</a>.</p>

<p>References <a class="el" href="utils__defs_8h_source.html#l00376">ASSERT_</a>, <a class="el" href="dijkstra_8h_source.html#l00082">mrpt::math::CDijkstra&lt; TYPE_EDGES &gt;::m_source_node_ID</a>, <a class="el" href="dijkstra_8h_source.html#l00079">mrpt::math::CDijkstra&lt; TYPE_EDGES &gt;::previous</a>, and <a class="el" href="dijkstra_8h_source.html#l00080">mrpt::math::CDijkstra&lt; TYPE_EDGES &gt;::previous_arcs</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="acf49dfb996e8f66f476871a56aebb96d"></a><!-- doxytag: member="mrpt::math::CDijkstra::d" ref="acf49dfb996e8f66f476871a56aebb96d" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TYPE_EDGES &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>,<a class="el" href="structmrpt_1_1math_1_1_c_dijkstra_1_1_t_distance.html">TDistance</a>&gt; <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html">mrpt::math::CDijkstra</a>&lt; TYPE_EDGES &gt;::<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#acf49dfb996e8f66f476871a56aebb96d">d</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dijkstra_8h_source.html#l00078">78</a> of file <a class="el" href="dijkstra_8h_source.html">dijkstra.h</a>.</p>

<p>Referenced by <a class="el" href="dijkstra_8h_source.html#l00099">mrpt::math::CDijkstra&lt; TYPE_EDGES &gt;::CDijkstra()</a>.</p>

</div>
</div>
<a class="anchor" id="ab8e4b614fbb0fb9c1da88ced7329f4ff"></a><!-- doxytag: member="mrpt::math::CDijkstra::INVALID_TNODEID" ref="ab8e4b614fbb0fb9c1da88ced7329f4ff" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TYPE_EDGES &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a> <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html">mrpt::math::CDijkstra</a>&lt; TYPE_EDGES &gt;::<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#ab8e4b614fbb0fb9c1da88ced7329f4ff">INVALID_TNODEID</a> = static_cast&lt;<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>&gt;(-1)<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dijkstra_8h_source.html#l00057">57</a> of file <a class="el" href="dijkstra_8h_source.html">dijkstra.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6402c98fb1a6c42d88eb7c7ff8fec5a7"></a><!-- doxytag: member="mrpt::math::CDijkstra::m_source_node_ID" ref="a6402c98fb1a6c42d88eb7c7ff8fec5a7" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TYPE_EDGES &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a> <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html">mrpt::math::CDijkstra</a>&lt; TYPE_EDGES &gt;::<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a6402c98fb1a6c42d88eb7c7ff8fec5a7">m_source_node_ID</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dijkstra_8h_source.html#l00082">82</a> of file <a class="el" href="dijkstra_8h_source.html">dijkstra.h</a>.</p>

<p>Referenced by <a class="el" href="dijkstra_8h_source.html#l00198">mrpt::math::CDijkstra&lt; TYPE_EDGES &gt;::getShortestPathTo()</a>.</p>

</div>
</div>
<a class="anchor" id="abc7eb3cb836f0490b87d0058b9c4c091"></a><!-- doxytag: member="mrpt::math::CDijkstra::previous" ref="abc7eb3cb836f0490b87d0058b9c4c091" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TYPE_EDGES &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>,<a class="el" href="structmrpt_1_1math_1_1_c_dijkstra_1_1_t_previous.html">TPrevious</a>&gt; <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html">mrpt::math::CDijkstra</a>&lt; TYPE_EDGES &gt;::<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#abc7eb3cb836f0490b87d0058b9c4c091">previous</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dijkstra_8h_source.html#l00079">79</a> of file <a class="el" href="dijkstra_8h_source.html">dijkstra.h</a>.</p>

<p>Referenced by <a class="el" href="dijkstra_8h_source.html#l00099">mrpt::math::CDijkstra&lt; TYPE_EDGES &gt;::CDijkstra()</a>, and <a class="el" href="dijkstra_8h_source.html#l00198">mrpt::math::CDijkstra&lt; TYPE_EDGES &gt;::getShortestPathTo()</a>.</p>

</div>
</div>
<a class="anchor" id="a2c003a2d1d18c71d4edf9fb19438592d"></a><!-- doxytag: member="mrpt::math::CDijkstra::previous_arcs" ref="a2c003a2d1d18c71d4edf9fb19438592d" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TYPE_EDGES &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>, std::pair&lt;<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>,<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>&gt; &gt; <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html">mrpt::math::CDijkstra</a>&lt; TYPE_EDGES &gt;::<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a2c003a2d1d18c71d4edf9fb19438592d">previous_arcs</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dijkstra_8h_source.html#l00080">80</a> of file <a class="el" href="dijkstra_8h_source.html">dijkstra.h</a>.</p>

<p>Referenced by <a class="el" href="dijkstra_8h_source.html#l00099">mrpt::math::CDijkstra&lt; TYPE_EDGES &gt;::CDijkstra()</a>, and <a class="el" href="dijkstra_8h_source.html#l00198">mrpt::math::CDijkstra&lt; TYPE_EDGES &gt;::getShortestPathTo()</a>.</p>

</div>
</div>
<a class="anchor" id="a2e44849e0c84ecdffaffe064561423f7"></a><!-- doxytag: member="mrpt::math::CDijkstra::visited" ref="a2e44849e0c84ecdffaffe064561423f7" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TYPE_EDGES &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a8b8796a182b720204e8febad369276c9">TNodeID</a>, bool&gt; <a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html">mrpt::math::CDijkstra</a>&lt; TYPE_EDGES &gt;::<a class="el" href="classmrpt_1_1math_1_1_c_dijkstra.html#a2e44849e0c84ecdffaffe064561423f7">visited</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="dijkstra_8h_source.html#l00081">81</a> of file <a class="el" href="dijkstra_8h_source.html">dijkstra.h</a>.</p>

<p>Referenced by <a class="el" href="dijkstra_8h_source.html#l00099">mrpt::math::CDijkstra&lt; TYPE_EDGES &gt;::CDijkstra()</a>.</p>

</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&nbsp;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.6.2-20100208</a> for MRPT 0.9.0 SVN: at Wed Jul 14 12:48:09 UTC 2010</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table> </body></html>