View Javadoc

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