org.ascape.model.space
Class Array2DEuclidian

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.Array2DEuclidian
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Iterable, java.util.Collection, Relative, Space, RandomFunctions

public class Array2DEuclidian
extends Array2D

A two-dimensional space providing effecient implementations for von Neumann neighbors. In a von Neumann neighborhood, cells are considered neighbors if they share an edge with the target:

 O
 OXO
 O
 

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
Array2DEuclidian()
          Constructs a two-dimensional Euclidian array.
Array2DEuclidian(CoordinateDiscrete extent)
          Constructs a two-dimensional 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 calculateNeighbors(Node cell)
          Calculate neighbors.
 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, 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

Array2DEuclidian

public Array2DEuclidian()
Constructs a two-dimensional Euclidian array.


Array2DEuclidian

public Array2DEuclidian(CoordinateDiscrete extent)
Constructs a two-dimensional 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

calculateNeighbors

public java.util.List calculateNeighbors(Node cell)
Description copied from class: Discrete
Calculate neighbors.

Overrides:
calculateNeighbors in class Discrete
Parameters:
cell - the cell
Returns:
the list

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

calculateDistance

public 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 Euclidian space, this distance is equal to the dimension root of the sum of each dimension distance squared.

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


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