movement
Class HomeActivityMovement

java.lang.Object
  extended by movement.MovementModel
      extended by movement.MapBasedMovement
          extended by movement.HomeActivityMovement
All Implemented Interfaces:
SwitchableMovement

public class HomeActivityMovement
extends MapBasedMovement
implements SwitchableMovement

A Class to model movement at home. If the node happens to be at some other location than its home, it first walks the shortest path home location and then stays there until morning. A node has only one home


Field Summary
static java.lang.String HOME_LOCATIONS_FILE_SETTING
           
static java.lang.String STD_FOR_TIME_DIFF_SETTING
           
 
Fields inherited from class movement.MapBasedMovement
backAllowed, FILE_S, lastMapNode, MAP_BASE_MOVEMENT_NS, MAP_SELECT_S, maxPathLength, minPathLength, NROF_FILES_S
 
Fields inherited from class movement.MovementModel
DEF_SPEEDS, DEF_WAIT_TIMES, maxSpeed, maxWaitTime, minSpeed, minWaitTime, MOVEMENT_MODEL_NS, rng, RNG_SEED, SPEED, WAIT_TIME, WORLD_SIZE
 
Constructor Summary
HomeActivityMovement(HomeActivityMovement proto)
          Creates a new instance of HomeActivityMovement from a prototype
HomeActivityMovement(Settings settings)
          Creates a new instance of HomeActivityMovement
 
Method Summary
protected  double generateWaitTime()
          Generates and returns a suitable waiting time at the end of a path.
 Coord getHomeLocation()
           
 Coord getInitialLocation()
          Returns a (random) coordinate that is between two adjacent MapNodes
 Coord getLastLocation()
          Get the last location the getPath() of this movement model has returned
 Path getPath()
          Returns a new path by this movement model or null if no new path could be constructed at the moment (node should wait where it is).
 boolean isReady()
          Checks if the movement model is finished doing its task and it's time to switch to the next movement model.
 MapBasedMovement replicate()
          Creates a replicate of the movement model.
 void setLocation(Coord lastWaypoint)
          Tell the movement model what its current location is
 
Methods inherited from class movement.MapBasedMovement
getMap, getOkMapNodeTypes, selectRandomOkNode
 
Methods inherited from class movement.MovementModel
generateSpeed, getMaxX, getMaxY, isActive, nextPathAvailable, reset, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

HOME_LOCATIONS_FILE_SETTING

public static final java.lang.String HOME_LOCATIONS_FILE_SETTING
See Also:
Constant Field Values

STD_FOR_TIME_DIFF_SETTING

public static final java.lang.String STD_FOR_TIME_DIFF_SETTING
See Also:
Constant Field Values
Constructor Detail

HomeActivityMovement

public HomeActivityMovement(Settings settings)
Creates a new instance of HomeActivityMovement

Parameters:
settings -

HomeActivityMovement

public HomeActivityMovement(HomeActivityMovement proto)
Creates a new instance of HomeActivityMovement from a prototype

Parameters:
proto -
Method Detail

getInitialLocation

public Coord getInitialLocation()
Description copied from class: MapBasedMovement
Returns a (random) coordinate that is between two adjacent MapNodes

Overrides:
getInitialLocation in class MapBasedMovement
Returns:
The initial coordinates for a node

getPath

public Path getPath()
Description copied from class: MovementModel
Returns a new path by this movement model or null if no new path could be constructed at the moment (node should wait where it is). A new path should not be requested before the destination of the previous path has been reached.

Overrides:
getPath in class MapBasedMovement
Returns:
A new path or null

generateWaitTime

protected double generateWaitTime()
Description copied from class: MovementModel
Generates and returns a suitable waiting time at the end of a path. (i.e. random variable whose value is between min and max of the MovementModel.WAIT_TIME setting).

Overrides:
generateWaitTime in class MovementModel
Returns:
The time as a double

replicate

public MapBasedMovement replicate()
Description copied from class: MovementModel
Creates a replicate of the movement model.

Overrides:
replicate in class MapBasedMovement
Returns:
A new movement model with the same settings as this model

getLastLocation

public Coord getLastLocation()
Description copied from interface: SwitchableMovement
Get the last location the getPath() of this movement model has returned

Specified by:
getLastLocation in interface SwitchableMovement
Overrides:
getLastLocation in class MapBasedMovement
Returns:
the last location
See Also:
SwitchableMovement

isReady

public boolean isReady()
Description copied from interface: SwitchableMovement
Checks if the movement model is finished doing its task and it's time to switch to the next movement model. The method should be called between getPath() calls.

Specified by:
isReady in interface SwitchableMovement
Overrides:
isReady in class MapBasedMovement
Returns:
true if ready
See Also:
SwitchableMovement

setLocation

public void setLocation(Coord lastWaypoint)
Description copied from interface: SwitchableMovement
Tell the movement model what its current location is

Specified by:
setLocation in interface SwitchableMovement
Overrides:
setLocation in class MapBasedMovement
See Also:
SwitchableMovement

getHomeLocation

public Coord getHomeLocation()
Returns:
Home location of the node