1 package cz.cuni.amis.utils.astar;
2
3 import java.util.Collection;
4
5 /**
6 * This class defines the goal of A* algorithm, it allows you to provide complex implementation
7 * of the {@link AStarGoal#isGoalReached(Object)} method.
8 *
9 * <p><p>
10 * Use amis-path-finding library instead, see svn://artemis.ms.mff.cuni.cz/pogamut/trunk/project/Utils/AmisPathFinding
11 */
12 @Deprecated
13 public interface AStarGoal<NODE> extends AStarEvaluator<NODE> {
14
15 /**
16 * This is called at the beginning of the A* algorithm to bind the open list
17 * to the goal (you may use it check which nodes we've visited, etc... for
18 * extra cost for instance). DON'T CHANGE IT!
19 */
20 public void setOpenList(Collection<NODE> openList);
21
22 /**
23 * This is called at the beginning of the A* algorithm to bind the close list
24 * to the goal (you may use it check which nodes we've visited, etc... for
25 * extra cost for instance). DON'T CHANGE IT!
26 */
27 public void setCloseList(Collection<NODE> closeList);
28
29 /**
30 * Returns true, if we've reached the goal ... e.g. actualNode
31 * is node we were trying to get to
32 * if this function never returns true, A* will run until
33 * all nodes are evaluated
34 * @param actualNode
35 */
36 public boolean isGoalReached(NODE actualNode);
37 }