jist.swans.field
Class Spatial.Grid

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

public static class Spatial.Grid
extends Spatial

Grid-based 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
 
Fields inherited from class jist.swans.field.Spatial
bl, br, size, tl, tr
 
Constructor Summary
Spatial.Grid(Location tr, int divisions)
          Create a new grid bin.
Spatial.Grid(Location bl, Location tr, int divisions)
          Create a new grid bin.
Spatial.Grid(Location bl, Location br, Location tl, Location tr, int divisions)
          Create a new grid bin.
 
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
 

Constructor Detail

Spatial.Grid

public Spatial.Grid(Location tr,
                    int divisions)
Create a new grid bin.

Parameters:
tr - top-right corner location
divisions - grid divisions

Spatial.Grid

public Spatial.Grid(Location bl,
                    Location tr,
                    int divisions)
Create a new grid bin.

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

Spatial.Grid

public Spatial.Grid(Location bl,
                    Location br,
                    Location tl,
                    Location tr,
                    int divisions)
Create a new grid bin.

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

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

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