Geophysical Inversion and Modelling Library  v1.3.1-2-g7599abf9
GIMLI::Dijkstra Class Reference


class  ComparePairsClass_
class  DistancePair_
class  Edge_

Public Member Functions

 Dijkstra (const Graph &graph)
void setGraph (const Graph &graph)
void setStartNode (Index startNode)
void shortestPathTo (Index node, IndexArray &way) const
IndexArray shortestPathTo (Index node) const
IndexArray shortestPath (Index start, Index end)
double distance (Index root, Index node)
double distance (Index node)
RVector distances (Index root)
RVector distances () const
Graph & graph ()
const Graph & graph () const
GraphDistInfo graphInfo (Index na, Index nb)

Protected Attributes

std::vector< Edge_pathMatrix_
NodeDistMap distances_
Graph graph_
Index _root

Detailed Description

Dijkstra's shortest path finding

Member Function Documentation

◆ distance() [1/2]

double GIMLI::Dijkstra::distance ( Index  node)

Distance to node to the last known root.

◆ distance() [2/2]

double GIMLI::Dijkstra::distance ( Index  root,
Index  node 

Distance from root to node.

◆ distances() [1/2]

RVector GIMLI::Dijkstra::distances ( ) const

All distances from to last known root.

Referenced by distances().

◆ distances() [2/2]

RVector GIMLI::Dijkstra::distances ( Index  root)

All distances to root.

References distances().

◆ shortestPath()

IndexArray GIMLI::Dijkstra::shortestPath ( Index  start,
Index  end 

Get the shortest way from node index start to end.

References shortestPathTo().

◆ shortestPathTo() [1/2]

IndexArray GIMLI::Dijkstra::shortestPathTo ( Index  node) const

Get the shortest way from root to node.

References shortestPathTo().

◆ shortestPathTo() [2/2]

void GIMLI::Dijkstra::shortestPathTo ( Index  node,
IndexArray way 
) const

Get the shortest way from root to node. Inline version.

References GIMLI::Vector< ValueType >::clear(), and GIMLI::Vector< ValueType >::resize().

Referenced by shortestPath(), and shortestPathTo().