public class Grid3D extends Space3D
AbstractEnvironmentSpace.AtomicCounter
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_NAME
The default ID for this space.
|
static java.lang.String |
NEIGHBORHOOD_MOORE
The moore neighborhood.
|
static java.lang.String |
NEIGHBORHOOD_VON_NEUMANN
The von neumann neighborhood.
|
protected MultiCollection<IVector3,ISpaceObject> |
objectsygridpos
All simobject id's accessible per position.
|
static java.lang.String |
PROPERTY_NEIGHBORHOOD
The neighborhood property.
|
areasize, BORDER_RELAXED, BORDER_STRICT, BORDER_TORUS, PROPERTY_BORDER, PROPERTY_POSITION
actionlist, actions, avatarmappings, classloader, config, dataconsumers, dataproviders, dataviewmappings, exta, fetcher, ia, initialavatars, listeners, objectidcounter, objecttypes, objecttypesMeta, observercenters, perceptgenerators, perceptlist, perceptprocessors, percepttypes, pfetcher, processes, processtypes, spaceobjects, spaceobjectsbyowner, spaceobjectsbytype, taskidcounter, tasktypes, views, zombieobjects
monitor
pcs, properties
Constructor and Description |
---|
Grid3D()
Creates a new
ContinuousSpace2D with the default name. |
Grid3D(IVector3 areasize)
Creates a new
ContinuousSpace2D with the default name. |
Grid3D(java.lang.Object name,
IVector3 areasize)
Creates a new
ContinuousSpace2D with a special ID. |
Modifier and Type | Method and Description |
---|---|
IVector1 |
calculateDistance(IVector1 dx,
IVector1 dy)
Calculate the distance in the space.
|
void |
destroySpaceObject(java.lang.Object id)
Destroys an object in this space.
|
IVector3 |
getEmptyGridPosition()
Get an empty position in the grid.
|
java.util.Set<ISpaceObject> |
getNearObjects(IVector3 position,
IVector1 distance,
java.lang.String type)
Retrieve all objects in the distance for a position.
|
java.lang.String |
getNeighborhood()
Get the neighborhood.
|
IVector1 |
getShortestDirection(IVector1 pos1,
IVector1 pos2,
boolean isx)
Get the shortest (direct) direction between two coordinates.
|
java.util.Collection<ISpaceObject> |
getSpaceObjectsByGridPosition(IVector3 position,
java.lang.Object type)
Get all SimObjects from a specific type at a specific grid position
|
void |
initSpaceObject(ISpaceObject ret)
Init an object in this space.
|
void |
setAreaSize(IVector3 areasize)
Set the area size.
|
void |
setPosition(java.lang.Object id,
IVector3 pos)
Set the position of an object.
|
adjustPosition, calculateDistance, getAreaSize, getBorderMode, getDistance, getDistance, getNearestObject, getNearObjects, getNearObjects, getRandomPosition, getSpaceObjects
addAvatarMappings, addDataConsumer, addDataProvider, addDataView, addDataViewMapping, addEnvironmentListener, addInitialAvatar, addObjectTaskType, addPerceptGenerator, addPerceptProcessor, addPerceptType, addSpaceAction, addSpaceObjectType, addSpaceProcessType, addTaskListener, cancelSpaceAction, componentAdded, componentRemoved, createAvatar, createObjectTask, createPercept, createSpaceObject, createSpaceObjectZombie, createSpaceProcess, fireEnvironmentEvent, fireObjectEvent, getAvatar, getAvatar, getAvatarMapping, getAvatars, getClassLoader, getComponentActionList, getComponents, getComponentType, getDataConsumer, getDataConsumers, getDataProvider, getDataView, getDataViews, getExternalAccess, getFetcher, getOwner, getPerceptList, getPerceptType, getProcesses, getProperty, getSpaceAction, getSpaceObject, getSpaceObject0, getSpaceObjectsByType, getSpaceObjectsCollection, getSpaceObjectType, getSpaceProcess, getSpaceProcessNames, getViews, init, initSpace, mergeProperties, mergeProperties, performSpaceAction, performSpaceAction, removeAvatarMappings, removeDataView, removeEnvironmentListener, removeObjectTask, removeObjectTaskType, removePerceptGenerator, removePerceptProcessor, removePerceptType, removeSpaceAction, removeSpaceObjectType, removeSpaceProcess, removeSpaceProcessType, removeTaskListener, setFetcher, setInitData, setOwner, terminate, waitForTask
addPropertyChangeListener, getMonitor, getPropertyNames, hasProperty, removePropertyChangeListener, setProperty
getMetaData, getMetaDatas
getProperties, setProperties, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getPropertyNames, hasProperty, setProperty
public static final java.lang.String DEFAULT_NAME
public static final java.lang.String NEIGHBORHOOD_MOORE
public static final java.lang.String NEIGHBORHOOD_VON_NEUMANN
public static final java.lang.String PROPERTY_NEIGHBORHOOD
protected MultiCollection<IVector3,ISpaceObject> objectsygridpos
public Grid3D()
ContinuousSpace2D
with the default name.clockService
- the clock servicetimeCoefficient
- the time coefficient for time differences.areaSize
- the size of the 2D areapublic Grid3D(IVector3 areasize)
ContinuousSpace2D
with the default name.actionexecutor
- executor for component actionsareasize
- the size of the 2D areapublic Grid3D(java.lang.Object name, IVector3 areasize)
ContinuousSpace2D
with a special ID.name
- the name of this spaceareasize
- the size of the 2D areaactionexecutor
- executor for component actionspublic void setAreaSize(IVector3 areasize)
setAreaSize
in class Space3D
areasize
- The area size.public java.lang.String getNeighborhood()
public java.util.Collection<ISpaceObject> getSpaceObjectsByGridPosition(IVector3 position, java.lang.Object type)
public IVector3 getEmptyGridPosition()
IVector2
position.public void setPosition(java.lang.Object id, IVector3 pos)
setPosition
in class Space3D
id
- The object id.pos
- The object position.public void initSpaceObject(ISpaceObject ret)
initSpaceObject
in class Space3D
public void destroySpaceObject(java.lang.Object id)
destroySpaceObject
in interface IEnvironmentSpace
destroySpaceObject
in class AbstractEnvironmentSpace
objectId
- the object's IDpublic java.util.Set<ISpaceObject> getNearObjects(IVector3 position, IVector1 distance, java.lang.String type)
getNearObjects
in class Space3D
position
- The position.distance
- The distance.type
- The type (or null for all objects).public IVector1 calculateDistance(IVector1 dx, IVector1 dy)
dx
- The distance in x.dy
- The distance in y.public IVector1 getShortestDirection(IVector1 pos1, IVector1 pos2, boolean isx)
pos1
- The first position.pos2
- The second position.isx
- The flag indicating if x or y).