org.ascape.model.space
Class Array2DMoore

java.lang.Object
  extended by org.ascape.model.space.CollectionSpace
      extended by org.ascape.model.space.Discrete
          extended by org.ascape.model.space.Array
              extended by org.ascape.model.space.Array2DBase
                  extended by org.ascape.model.space.Array2D
                      extended by org.ascape.model.space.Array2DMoore
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Iterable, java.util.Collection, Relative, Space, RandomFunctions

public class Array2DMoore
extends Array2D

A two-dimensional space providing effecient implementations for Moore neighbors. In a Moore neighborhood, cells are considered neighbors if they meet the target at any point:

 OOO
 OXO
 OOO
 

Since:
1.0
Version:
2.0
Author:
Miles Parker
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.ascape.model.space.CollectionSpace
CollectionSpace.ClosestDataPoint, CollectionSpace.ConditionalIterator, CollectionSpace.CSIterator, CollectionSpace.CSMutableIterator, CollectionSpace.ListMutableRandomIterator, CollectionSpace.ListRandomIterator, CollectionSpace.MutableSubIterator, CollectionSpace.SubIterator
 
Field Summary
 
Fields inherited from class org.ascape.model.space.Array2D
MAX_RANK
 
Fields inherited from class org.ascape.model.space.Array2DBase
cells, currentPositionInRank, currentRank, nearnessLineOfSight, order, rankLimit, relativeCoordinates, relativeCoordinatesRankDistance, relativeCoordinatesRankLengths, relativeCoordinatesTemplate, sumOfCoordinatesWithinRank
 
Fields inherited from class org.ascape.model.space.Array
CACHE_RESULTS
 
Fields inherited from class org.ascape.model.space.Discrete
performanceWarning
 
Fields inherited from class org.ascape.model.space.CollectionSpace
collection, ESTIMATED_MAXIMUM_SIZE, extent, geometry
 
Constructor Summary
Array2DMoore()
          Constructs a two-dimensional moore-neighborhood array of provided geometry and extent, populated with clones of provided agent.
Array2DMoore(CoordinateDiscrete extent)
          Constructs a two-dimensional moore-neighborhood space array of provided geometry and extent, populated with clones of provided agent.
 
Method Summary
 double calculateDistance(Coordinate origin, Coordinate target)
          Returns the shortest distance between one cell and the other, assuming a walk between the two cells.
 java.util.List findWithinImpl(Coordinate origin, boolean includeSelf, double distance)
          Returns cells that are near the provided coordinate.
 
Methods inherited from class org.ascape.model.space.Array2D
calculateDistanceMoore, countWithin, findFirstMatchInRank, findNearest, findNearestMatchRank, findRandomMatchInRank, getNumOfCoordinatesWithinRank, getXSpan, getYSpan, hasWithin, initialize
 
Methods inherited from class org.ascape.model.space.Array2DBase
add, addAll, clear, clone, construct, contains, containsAll, findCellAway, findCells, findCells, findCellToward, findRandom, findRandom, findRandom, findRandomCoordinate, findRandomRelative, findRandomUnoccupied, findRelative, findWithinEuclidian, findWithinMoore, findWithinVonNeumann, findWithinVonNeumannLineOfSight, findWithinVonNeumannMovement, get, get, getCellsNearVonNeumannLineOfSight, getCellsNearVonNeumannMovement, getSize, getXSize, getYSize, isEmpty, isMutable, isNearnessLineOfSight, isValid, isValid, iterator, populate, randomizeCallingOrder, randomizeRank, remove, removeAll, retainAll, safeIterator, safeIterator, safeRandomIterator, set, set, setExtent, setExtent, setGeometry, setNearnessLineOfSight, size, toArray, toArray, toList
 
Methods inherited from class org.ascape.model.space.Array
findWithin, replace, swap
 
Methods inherited from class org.ascape.model.space.Discrete
bfsWithinIterator, calculateDistance, calculateNeighbors, findAvailable, findAvailable, findCellAwayBFS, findCellTowardBFS, findNearestAvailable, findNearestBFS, findNeighbors, findOccupants, findOccupants, findRandomAvailable, findRandomAvailable, findRandomAvailable, findRandomAvailableNeighbor, findRandomNeighbor, findRandomNeighbor, findRandomUnoccupiedCell, findRandomUnoccupiedCell, findWithinDefault, getCells, getCellsNearDefault, getDistance, getMaximumRank
 
Methods inherited from class org.ascape.model.space.CollectionSpace
add, calculateDistance, conditionalIterator, conditionalIterator, createOrder, createSpatialConditional, deleteSweep, filter, find, findMaximum, findMaximum, findMaximumWithin, findMinimum, findMinimum, findMinimumWithin, findNearest, findRandom, findRandom, findRandom, findRandomWithin, getContext, getExtent, getGeometry, getRandom, isDeleteSweepNeeded, isPeriodic, iteratorCount, iteratorToList, moveAway, moveToward, newLocation, newLocation, randomInRange, randomInRange, randomIs, randomizeOrder, randomToLimit, safeIterators, setContext, setExtent, setPeriodic, setRandom, setSize, withinIterator
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Collection
equals, hashCode
 

Constructor Detail

Array2DMoore

public Array2DMoore()
Constructs a two-dimensional moore-neighborhood array of provided geometry and extent, populated with clones of provided agent.


Array2DMoore

public Array2DMoore(CoordinateDiscrete extent)
Constructs a two-dimensional moore-neighborhood space array of provided geometry and extent, populated with clones of provided agent.

Parameters:
extent - a coordinate describing the size of this space
Method Detail

calculateDistance

public final double calculateDistance(Coordinate origin,
                                      Coordinate target)
Returns the shortest distance between one cell and the other, assuming a walk between the two cells. In a Moore neighborhood, the distance is equal to the maximum dimension distance.

Specified by:
calculateDistance in interface Space
Overrides:
calculateDistance in class Discrete
Parameters:
origin - the starting cell
target - the ending cell
Returns:
the double

findWithinImpl

public java.util.List findWithinImpl(Coordinate origin,
                                     boolean includeSelf,
                                     double distance)
Description copied from class: Array
Returns cells that are near the provided coordinate.

Specified by:
findWithinImpl in class Array
Parameters:
origin - the agent to find cells near
includeSelf - should supplied agent be included in the return set
distance - the distance to form centralCells to return cells
Returns:
the list


Copyright © 1998-2008 The Brookings Institution, NuTech Solutions, Metascape, LLC All Rights Reserved.