public abstract class Space2D extends AbstractEnvironmentSpace
| Modifier and Type | Class and Description | 
|---|---|
| protected class  | Space2D.KdTreeProcess | 
AbstractEnvironmentSpace.AtomicCounter| Modifier and Type | Field and Description | 
|---|---|
| protected IVector2 | areasizeArea size. | 
| static java.lang.String | BORDER_RELAXEDBorder relaxed mode. | 
| static java.lang.String | BORDER_STRICTBorder strict mode. | 
| static java.lang.String | BORDER_TORUSBorder torus behavior. | 
| protected java.util.Map<java.lang.String,KdTree> | kdTreesKD-Trees. | 
| static java.lang.String | PROPERTY_BORDERThe constant for the border property. | 
| static java.lang.String | PROPERTY_POSITIONThe constant for the position property. | 
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, zombieobjectsmonitorpcs, properties| Modifier | Constructor and Description | 
|---|---|
| protected  | Space2D(IVector2 areasize)Initializes the 2D-Space. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addSpaceObjectType(java.lang.String typename,
                  IPropertyMetaDataSet mobjecttype)Add a space type. | 
| IVector2 | adjustPosition(IVector2 pos)Calculate a position according to the space borders. | 
| IVector1 | calculateDistance(IVector1 dx,
                 IVector1 dy)Calculate the distance in the space. | 
| void | disableKdTree(java.lang.String type)Disables kd-tree NN-Search optimization for a specific object type. | 
| void | enableKdTree(java.lang.String type)Enables kd-tree NN-Search optimization for a specific object type. | 
| IVector2 | getAreaSize()Returns the size of the simulated area. | 
| java.lang.String | getBorderMode()Get the border mode. | 
| IVector1 | getDistance(IVector1 pos1,
           IVector1 pos2,
           boolean isx)Get the distance between two coordinates (x or y). | 
| IVector1 | getDistance(IVector2 pos1,
           IVector2 pos2)Get the distance between two positions. | 
| ISpaceObject | getNearestObject(IVector2 position,
                IVector1 maxdist,
                java.lang.String type)Returns the nearest object to the given position within a
 maximum distance from the position. | 
| java.util.Set<ISpaceObject> | getNearObjects(IVector2 position,
              IVector1 maxdist)Retrieve all objects in the distance for a position | 
| java.util.Set<ISpaceObject> | getNearObjects(IVector2 position,
              IVector1 maxdist,
              IFilter filter)Retrieve all objects in the distance for a position | 
| java.util.Set<ISpaceObject> | getNearObjects(IVector2 position,
              IVector1 maxdist,
              java.lang.String type)Retrieve all objects in the distance for a position | 
| java.util.Set<ISpaceObject> | getNearObjects(IVector2 position,
              IVector1 maxdist,
              java.lang.String type,
              IFilter filter)Retrieve all objects in the distance for a position | 
| IVector2 | getRandomPosition(IVector2 distance)Retrieves a random position within the simulation area with a minimum
 distance from the edge. | 
| java.lang.Object[] | getSpaceObjects()Get all space objects. | 
| void | initSpaceObject(ISpaceObject ret)Init an object in this space. | 
| void | setAreaSize(IVector2 areasize)Set the area size. | 
| void | setPosition(java.lang.Object id,
           IVector2 pos)Set the position of an object. | 
addAvatarMappings, addDataConsumer, addDataProvider, addDataView, addDataViewMapping, addEnvironmentListener, addInitialAvatar, addObjectTaskType, addPerceptGenerator, addPerceptProcessor, addPerceptType, addSpaceAction, addSpaceProcessType, addTaskListener, cancelSpaceAction, componentAdded, componentRemoved, createAvatar, createObjectTask, createPercept, createSpaceObject, createSpaceObjectZombie, createSpaceProcess, destroySpaceObject, 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, waitForTaskaddPropertyChangeListener, getMonitor, getPropertyNames, hasProperty, removePropertyChangeListener, setPropertygetMetaData, getMetaDatasgetProperties, setProperties, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetPropertyNames, hasProperty, setPropertypublic static final java.lang.String PROPERTY_POSITION
public static final java.lang.String PROPERTY_BORDER
public static final java.lang.String BORDER_STRICT
public static final java.lang.String BORDER_RELAXED
public static final java.lang.String BORDER_TORUS
protected IVector2 areasize
protected java.util.Map<java.lang.String,KdTree> kdTrees
protected Space2D(IVector2 areasize)
spaceexecutor - executor for the spaceactionexecutor - executor for component actionsareasize - the size of the 2D areapublic IVector2 getAreaSize()
public void setAreaSize(IVector2 areasize)
areasize - The area size.public java.lang.String getBorderMode()
public void initSpaceObject(ISpaceObject ret)
initSpaceObject in class AbstractEnvironmentSpacepublic void addSpaceObjectType(java.lang.String typename,
                               IPropertyMetaDataSet mobjecttype)
AbstractEnvironmentSpaceaddSpaceObjectType in interface IEnvironmentSpaceaddSpaceObjectType in class AbstractEnvironmentSpacetypename - The type name.mobjecttype - The properties (map of maps with name->name/value/dynamic/event).public void setPosition(java.lang.Object id,
                        IVector2 pos)
id - The object id.pos - The object position.public IVector1 getDistance(IVector2 pos1, IVector2 pos2)
pos1 - The first position.pos2 - The second position.public IVector1 getDistance(IVector1 pos1, IVector1 pos2, boolean isx)
pos1 - The first position.pos2 - The second position.public IVector1 calculateDistance(IVector1 dx, IVector1 dy)
dx - The distance in x.dy - The distance in y.public IVector2 adjustPosition(IVector2 pos)
public IVector2 getRandomPosition(IVector2 distance)
distance - minimum distance from the edge, null or zero for no distancepublic void enableKdTree(java.lang.String type)
String - type The type of object being optimized.public void disableKdTree(java.lang.String type)
String - type The type of object for which the kd-tree is disabled.public ISpaceObject getNearestObject(IVector2 position, IVector1 maxdist, java.lang.String type)
position - position the object should be nearest tomaxdist - maximum distance from the position, use null for unlimited distancepublic java.util.Set<ISpaceObject> getNearObjects(IVector2 position, IVector1 maxdist)
position - distance - public java.util.Set<ISpaceObject> getNearObjects(IVector2 position, IVector1 maxdist, java.lang.String type)
position - distance - public java.util.Set<ISpaceObject> getNearObjects(IVector2 position, IVector1 maxdist, IFilter filter)
position - distance - public java.util.Set<ISpaceObject> getNearObjects(IVector2 position, IVector1 maxdist, java.lang.String type, IFilter filter)
position - distance - public java.lang.Object[] getSpaceObjects()