jist.swans.field
Class Spatial.TiledWraparound

java.lang.Object
  extended by jist.swans.field.Spatial
      extended by jist.swans.field.Spatial.TiledWraparound
Enclosing class:
Spatial

public static class Spatial.TiledWraparound
extends Spatial

Tile wraparound spatial implementation. This object transmits a signal in nine locations (3x3), each separated by the size of the nested tile.


Nested Class Summary
 
Nested classes/interfaces inherited from class jist.swans.field.Spatial
Spatial.Grid, Spatial.HierGrid, Spatial.LinearList, Spatial.SpatialTransmitVisitor, Spatial.SpatialVisitor, Spatial.TiledWraparound
 
Field Summary
private  Location[] offsets
          transmission offsets corresponding to top-left of each tile.
private  Spatial tile
          nested spatial data structure.
 
Fields inherited from class jist.swans.field.Spatial
bl, br, size, tl, tr
 
Constructor Summary
Spatial.TiledWraparound(Spatial tile)
          Initialize a tiled wraparound spatial data structure.
 
Method Summary
 void add(Field.RadioData radioData)
          Add a radio to bin.
 void del(Field.RadioData radioData)
          Delete a radio from bin.
 Field.RadioData move(Field.RadioData radioData, Location newLoc)
          Update a radio location.
 int visit(Spatial.SpatialVisitor visitor)
          Visit radios in bin.
 int visitTransmit(Spatial.SpatialTransmitVisitor visitor, RadioInfo srcInfo, Location srcLoc, Message msg, java.lang.Long durationObj, double limit)
          Visit radios in bin with transmission visitor.
 
Methods inherited from class jist.swans.field.Spatial
area, getBottomLeft, getNearest, getSize, getTopRight, moveInside
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tile

private final Spatial tile
nested spatial data structure.


offsets

private final Location[] offsets
transmission offsets corresponding to top-left of each tile.

Constructor Detail

Spatial.TiledWraparound

public Spatial.TiledWraparound(Spatial tile)
Initialize a tiled wraparound spatial data structure.

Parameters:
tile - nested spatial data structure
Method Detail

visitTransmit

public int visitTransmit(Spatial.SpatialTransmitVisitor visitor,
                         RadioInfo srcInfo,
                         Location srcLoc,
                         Message msg,
                         java.lang.Long durationObj,
                         double limit)
Visit radios in bin with transmission visitor.

Specified by:
visitTransmit in class Spatial
Parameters:
visitor - transmission visitor object
srcInfo - transmission source radio
srcLoc - transmission source location
msg - message to transmit
durationObj - transmission duration
limit - propagation limit
Returns:
number of receiving radios

visit

public int visit(Spatial.SpatialVisitor visitor)
Visit radios in bin.

Specified by:
visit in class Spatial
Parameters:
visitor - visitor object
Returns:
number of radios visited

add

public void add(Field.RadioData radioData)
Add a radio to bin.

Specified by:
add in class Spatial
Parameters:
radioData - radio information (location inside bin limits)

del

public void del(Field.RadioData radioData)
Delete a radio from bin.

Specified by:
del in class Spatial
Parameters:
radioData - radio information (location inside bin limits)

move

public Field.RadioData move(Field.RadioData radioData,
                            Location newLoc)
Update a radio location.

Specified by:
move in class Spatial
Parameters:
radioData - radio information
newLoc - destination of move
Returns:
radio information (unupdated) if new location outside of bin; null if new location inside bin