View Javadoc

1   package cz.cuni.amis.pogamut.ut2004.agent.navigation;
2   
3   import cz.cuni.amis.pogamut.base3d.worldview.object.ILocated;
4   import cz.cuni.amis.pogamut.base3d.worldview.object.Location;
5   import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.NavPointNeighbourLink;
6   
7   /**
8    * Runner is actually responsible for running directly between two locations.
9    * 
10   * 
11   * @author Jimmy
12   *
13   */
14  public interface IUT2004PathRunner {
15  
16  	/**
17  	 * Resets the runner state.
18  	 * <p><p>
19  	 * Called before the navigator turns its attention to another location.
20  	 */
21  	public void reset();
22  	
23  	/**
24  	 * Called iteratively to reach the 'firstLocation'. This method should get the bot to the 'firstLocation'.
25  	 * <p><p>
26  	 * The 'secondLocation' is the location that will most likely be pursued next.
27  	 * 
28  	 * @param runningFrom location we're running from (i.e., where the bot may safely return), may be null
29  	 * @param firstLocation where the bot should run to
30  	 * @param secondLocation where the bot will the most likely continue its run
31  	 * @param focus where the bot should be looking while running
32       * @param navPointsLink if we are traveling between two NavPoints connected by a link, we will receive the link with movement information here
33  	 * @return
34  	 */
35  	public boolean runToLocation(Location runningFrom, Location firstLocation, Location secondLocation, ILocated focus, NavPointNeighbourLink navPointsLink, boolean reachable);
36  	
37  }