jist.swans.field
Class Spatial.LinearList

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

public static class Spatial.LinearList
extends Spatial

Linear-lookup (no binning).


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 static boolean CHECK_CYCLE
          whether to check for cycles.
private  Field.RadioData radioList
          list of radios in bin.
 
Fields inherited from class jist.swans.field.Spatial
bl, br, size, tl, tr
 
Constructor Summary
Spatial.LinearList(Location tr)
          Create a new linear-lookup bin.
Spatial.LinearList(Location bl, Location tr)
          Create a new linear-lookup bin.
Spatial.LinearList(Location bl, Location br, Location tl, Location tr)
          Create a new linear-lookup bin.
 
Method Summary
 void add(Field.RadioData data)
          Add a radio to bin.
 void del(Field.RadioData data)
          Delete a radio from bin.
private  boolean hasCycle()
          Determine whether bin radio list contains a cycle.
 Field.RadioData move(Field.RadioData rd, Location l2)
          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

CHECK_CYCLE

private static final boolean CHECK_CYCLE
whether to check for cycles. (debug)

See Also:
Constant Field Values

radioList

private Field.RadioData radioList
list of radios in bin.

Constructor Detail

Spatial.LinearList

public Spatial.LinearList(Location tr)
Create a new linear-lookup bin.

Parameters:
tr - top-right corner location

Spatial.LinearList

public Spatial.LinearList(Location bl,
                          Location tr)
Create a new linear-lookup bin.

Parameters:
bl - bottom-left corner location
tr - top-right corner location

Spatial.LinearList

public Spatial.LinearList(Location bl,
                          Location br,
                          Location tl,
                          Location tr)
Create a new linear-lookup bin.

Parameters:
bl - bottom-left corner location
br - bottom-right corner location
tl - top-left corner location
tr - top-right corner location
Method Detail

hasCycle

private boolean hasCycle()
Determine whether bin radio list contains a cycle.

Returns:
whether bin radio list contains a cycle

add

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

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

del

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

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

move

public Field.RadioData move(Field.RadioData rd,
                            Location l2)
Update a radio location.

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

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