hal/src/zutil/algo/path/PathNode.java

36 lines
757 B
Java
Raw Normal View History

2008-11-14 16:38:36 +00:00
package zutil.algo.path;
2010-02-25 23:01:46 +00:00
import java.util.LinkedList;
2008-11-14 16:38:36 +00:00
public interface PathNode {
2010-02-25 23:01:46 +00:00
/**
* @return an Iterator with all its neighbors
*/
2008-11-14 16:38:36 +00:00
public Iterable<PathNode> getNeighbors();
2010-02-25 23:01:46 +00:00
/**
* @param neighbor is the neighbor
* @return the cost to the neighbor
*/
2008-11-14 16:38:36 +00:00
public int getNeighborCost(PathNode neighbor);
2010-02-25 23:01:46 +00:00
/**
* Sets the parent node to this one
*/
public void setParentNeighbor(PathNode parent);
/**
* @return the parent node
*/
public PathNode getParentNeighbor();
2008-11-14 16:38:36 +00:00
2010-02-25 23:01:46 +00:00
/**
* Traverses the parent tree and returns the path.
*
* @param goal is the node to reach
* @return the path to the goal, empty list if there is no goal
*/
public LinkedList<PathNode> traversTo(PathNode goal);
2008-11-14 16:38:36 +00:00
}