Path Finder (2D/3D) 1.0.1
Create and use simple navigation graphs for 2D/3D path finding with choice of 4 search algorithms.
pathfinder.GraphSearch_Dijkstra Class Reference
Inheritance diagram for pathfinder.GraphSearch_Dijkstra:

Public Member Functions

 GraphSearch_Dijkstra (Graph graph)
 
LinkedList< GraphNodesearch (int startID, int targetID)
 
LinkedList< GraphNodesearch (int startID, int targetID, boolean remember)
 
GraphEdge[] getExaminedEdges ()
 
GraphNode[] getRoute ()
 
LinkedList< GraphNodesearch (int startID, int targetID)
 
LinkedList< GraphNodesearch (int startID, int targetID, boolean remember)
 
GraphEdge[] getExaminedEdges ()
 
public< T > T[] getExaminedEdges (T[] array)
 
GraphNode[] getRoute ()
 
public< T > T[] getRoute (T[] array)
 

Protected Member Functions

double getCost (GraphNode node)
 

Protected Attributes

Graph graph
 
HashSet< GraphNodesettledNodes
 
PriorityQueue< GraphNodeCost > unsettledNodes
 
HashMap< GraphNode, GraphNodeparent
 
HashMap< GraphNode, Double > graphCostToNode
 
HashSet< GraphEdgeexaminedEdges
 
LinkedList< GraphNoderoute
 

Detailed Description

Dijkstra
Objects of this class are used to search a graph and find a path between two nodes using this algorithm.

Author
Peter Lager

Constructor & Destructor Documentation

◆ GraphSearch_Dijkstra()

pathfinder.GraphSearch_Dijkstra.GraphSearch_Dijkstra ( Graph  graph)

Create a search object that uses Dijkstra's algorithm for the given graph.

Parameters
graphthe graph to use

Member Function Documentation

◆ getCost()

double pathfinder.GraphSearch_Dijkstra.getCost ( GraphNode  node)
protected

Used by the search method

Parameters
node
Returns

◆ getExaminedEdges()

GraphEdge[] pathfinder.GraphSearch_Dijkstra.getExaminedEdges ( )

Get all the edges examined during the search.

Returns
edges examined or array size 0 if none found

Implements pathfinder.IGraphSearch.

◆ getRoute()

GraphNode[] pathfinder.GraphSearch_Dijkstra.getRoute ( )

Get the path found as an array of GraphNode(s) in start->end order

Returns
path found or array size 0 if none found

Implements pathfinder.IGraphSearch.

◆ search() [1/2]

LinkedList< GraphNode > pathfinder.GraphSearch_Dijkstra.search ( int  startID,
int  targetID 
)

Search for a route from node startID and ends at targetID.
This will return a linkedlist of the nodes that make up the route from start to end order.
If either the start or target node does not exist or if a route can't be found the returned list is empty.

Parameters
startIDid of the start node
targetIDid of the target node
Returns
the route as a list of nodes

Implements pathfinder.IGraphSearch.

◆ search() [2/2]

LinkedList< GraphNode > pathfinder.GraphSearch_Dijkstra.search ( int  startID,
int  targetID,
boolean  remember 
)

Search for a route from node startID and ends at targetID.
This will return a linkedlist of the nodes that make up the route from start to end order.
If either the start or target node does not exist or if a route can't be found the returned list is empty.

Parameters
startIDid of the start node
targetIDid of the target node
rememberwhether to remember the examined edges.
Returns
the route as a list of nodes

Implements pathfinder.IGraphSearch.

Member Data Documentation

◆ examinedEdges

HashSet<GraphEdge> pathfinder.GraphSearch_Dijkstra.examinedEdges
protected

Used to remember examined edges

◆ graphCostToNode

HashMap<GraphNode, Double> pathfinder.GraphSearch_Dijkstra.graphCostToNode
protected

Stores the smallest path cost found so far for a given node

◆ parent

HashMap<GraphNode, GraphNode> pathfinder.GraphSearch_Dijkstra.parent
protected

Indicates the predecessor node for a given node. This is used to store the shortest path. <node of interest, node where the edge originated>

◆ route

LinkedList<GraphNode> pathfinder.GraphSearch_Dijkstra.route
protected

List for routes nodes in order of travel

◆ settledNodes

HashSet<GraphNode> pathfinder.GraphSearch_Dijkstra.settledNodes
protected

The settled nodes - the nodes whose shortest distances from the source have been found.

◆ unsettledNodes

PriorityQueue<GraphNodeCost> pathfinder.GraphSearch_Dijkstra.unsettledNodes
protected

The unsettled nodes


The documentation for this class was generated from the following file: