movement
Class OfficeActivityMovement

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

public class OfficeActivityMovement
extends MapBasedMovement
implements SwitchableMovement

This class models movement at an office. If the node happens to be at some other location than the office, it first walks the shortest path to the office and then stays there until the end of the work day. A node has only works at one office.


Field Summary
static java.lang.String NR_OF_OFFICES_SETTING
           
static java.lang.String OFFICE_LOCATIONS_FILE_SETTING
           
static java.lang.String OFFICE_MAX_WAIT_TIME_SETTING
           
static java.lang.String OFFICE_MIN_WAIT_TIME_SETTING
           
static java.lang.String OFFICE_SIZE_SETTING
           
static java.lang.String OFFICE_WAIT_TIME_PARETO_COEFF_SETTING
           
static java.lang.String WORK_DAY_LENGTH_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
OfficeActivityMovement(OfficeActivityMovement proto)
          Copyconstructor
OfficeActivityMovement(Settings settings)
          OfficeActivityMovement constructor
 
Method Summary
protected  double generateWaitTime()
          Generates and returns a suitable waiting time at the end of a path.
 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
 Coord getOfficeLocation()
           
 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).
 Coord getRandomCoorinateInsideOffice()
           
 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

WORK_DAY_LENGTH_SETTING

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

NR_OF_OFFICES_SETTING

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

OFFICE_SIZE_SETTING

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

OFFICE_WAIT_TIME_PARETO_COEFF_SETTING

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

OFFICE_MIN_WAIT_TIME_SETTING

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

OFFICE_MAX_WAIT_TIME_SETTING

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

OFFICE_LOCATIONS_FILE_SETTING

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

OfficeActivityMovement

public OfficeActivityMovement(Settings settings)
OfficeActivityMovement constructor

Parameters:
settings -

OfficeActivityMovement

public OfficeActivityMovement(OfficeActivityMovement proto)
Copyconstructor

Parameters:
proto -
Method Detail

getRandomCoorinateInsideOffice

public Coord getRandomCoorinateInsideOffice()

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

getOfficeLocation

public Coord getOfficeLocation()
Returns:
The location of the office