\hypertarget{class_odin_a_i_1_1_graph___search_dijkstra}{\section{Odin\-A\-I\-:\-:Graph\-\_\-\-Search\-Dijkstra$<$ Graph\-Type, Target\-Condition $>$ Class Template Reference}
\label{class_odin_a_i_1_1_graph___search_dijkstra}\index{Odin\-A\-I\-::\-Graph\-\_\-\-Search\-Dijkstra$<$ Graph\-Type, Target\-Condition $>$@{Odin\-A\-I\-::\-Graph\-\_\-\-Search\-Dijkstra$<$ Graph\-Type, Target\-Condition $>$}}
}


{\ttfamily \#include $<$Dijkstra\-Graph\-Search.\-h$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_odin_a_i_1_1_graph___search_dijkstra_a4388b944d1b82cb4f1cd4c3f30cdcedc}{{\bfseries Graph\-\_\-\-Search\-Dijkstra} (const graph\-\_\-type \&graph, int source, int target=-\/1)}\label{class_odin_a_i_1_1_graph___search_dijkstra_a4388b944d1b82cb4f1cd4c3f30cdcedc}

\item 
std\-::vector$<$ const Edge $\ast$ $>$ \hyperlink{class_odin_a_i_1_1_graph___search_dijkstra_a0a8235f86a32d227514321f434725410}{Get\-S\-P\-T} () const 
\item 
std\-::list$<$ int $>$ \hyperlink{class_odin_a_i_1_1_graph___search_dijkstra_a205d2d497ac4e4dc2ba77522a6a65c71}{Get\-Path} () const 
\item 
\hypertarget{class_odin_a_i_1_1_graph___search_dijkstra_a7ad31d95368f07dadbfa5a11eb07060a}{double {\bfseries Get\-Cost\-To\-Target} () const }\label{class_odin_a_i_1_1_graph___search_dijkstra_a7ad31d95368f07dadbfa5a11eb07060a}

\item 
\hypertarget{class_odin_a_i_1_1_graph___search_dijkstra_a3712b6614570ea9e93a0f766ddf5cd33}{double {\bfseries Get\-Cost\-To\-Node} (unsigned int nd) const }\label{class_odin_a_i_1_1_graph___search_dijkstra_a3712b6614570ea9e93a0f766ddf5cd33}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class Graph\-Type, class Target\-Condition$>$class Odin\-A\-I\-::\-Graph\-\_\-\-Search\-Dijkstra$<$ Graph\-Type, Target\-Condition $>$}

Given a graph, and an optional target, it calculates the shortest path from the source node to the target. The target maybe anything, it maybe a node, or it maybe a condition. 

\subsection{Member Function Documentation}
\hypertarget{class_odin_a_i_1_1_graph___search_dijkstra_a205d2d497ac4e4dc2ba77522a6a65c71}{\index{Odin\-A\-I\-::\-Graph\-\_\-\-Search\-Dijkstra@{Odin\-A\-I\-::\-Graph\-\_\-\-Search\-Dijkstra}!Get\-Path@{Get\-Path}}
\index{Get\-Path@{Get\-Path}!OdinAI::Graph_SearchDijkstra@{Odin\-A\-I\-::\-Graph\-\_\-\-Search\-Dijkstra}}
\subsubsection[{Get\-Path}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Graph\-Type , class Target\-Condition $>$ std\-::list$<$int$>$ {\bf Odin\-A\-I\-::\-Graph\-\_\-\-Search\-Dijkstra}$<$ Graph\-Type, Target\-Condition $>$\-::Get\-Path (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{class_odin_a_i_1_1_graph___search_dijkstra_a205d2d497ac4e4dc2ba77522a6a65c71}
Get the path. The list is empty if no path found. \hypertarget{class_odin_a_i_1_1_graph___search_dijkstra_a0a8235f86a32d227514321f434725410}{\index{Odin\-A\-I\-::\-Graph\-\_\-\-Search\-Dijkstra@{Odin\-A\-I\-::\-Graph\-\_\-\-Search\-Dijkstra}!Get\-S\-P\-T@{Get\-S\-P\-T}}
\index{Get\-S\-P\-T@{Get\-S\-P\-T}!OdinAI::Graph_SearchDijkstra@{Odin\-A\-I\-::\-Graph\-\_\-\-Search\-Dijkstra}}
\subsubsection[{Get\-S\-P\-T}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Graph\-Type , class Target\-Condition $>$ std\-::vector$<$const Edge$\ast$$>$ {\bf Odin\-A\-I\-::\-Graph\-\_\-\-Search\-Dijkstra}$<$ Graph\-Type, Target\-Condition $>$\-::Get\-S\-P\-T (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_odin_a_i_1_1_graph___search_dijkstra_a0a8235f86a32d227514321f434725410}
Get our shortest path tree. 

The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
Include/\-Odin\-A\-I/Dijkstra\-Graph\-Search.\-h\end{DoxyCompactItemize}
