atavism.server.engine
Class Perceiver<ElementType extends QuadTreeElement<ElementType>>
java.lang.Object
atavism.server.engine.Perceiver<ElementType>
- All Implemented Interfaces:
- java.io.Serializable
- Direct Known Subclasses:
- FixedPerceiver, MobilePerceiver
public abstract class Perceiver<ElementType extends QuadTreeElement<ElementType>>
- extends java.lang.Object
- implements java.io.Serializable
represents what a mob can see. it actually contains a bunch of perceiver
nodes which reside in the quad tree. what it can perceive is the aggregation
of what all these individual perceiver nodes can see.
- See Also:
- Serialized Form
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
log
protected static final Logger log
Perceiver
public Perceiver()
registerCallback
public void registerCallback(PerceiverCallback<ElementType> cb)
unregisterCallback
public void unregisterCallback(PerceiverCallback<ElementType> cb)
overlaps
public abstract boolean overlaps(Geometry g)
contains
public abstract boolean contains(Geometry g)
shouldNotifyNewElement
public boolean shouldNotifyNewElement(ElementType elem)
shouldFreeElement
public boolean shouldFreeElement(ElementType elem)
processNewsAndFrees
public java.lang.Integer processNewsAndFrees(PerceiverNewsAndFrees<ElementType> newsAndFrees,
OID mobilePerceiverOid)
shouldUpdateBasedOnLoc
public boolean shouldUpdateBasedOnLoc(Point loc)
addQuadTreeNode
public void addQuadTreeNode(QuadTreeNode<ElementType> node)
removeQuadTreeNode
public void removeQuadTreeNode(QuadTreeNode<ElementType> node)
getQuadTreeNodes
public java.util.Set<QuadTreeNode<ElementType>> getQuadTreeNodes()
- Gets the list of nodes this perceiver can perceive.
- Returns:
setFilter
public void setFilter(PerceiverFilter<ElementType> filter)
getFilter
public PerceiverFilter<ElementType> getFilter()