Atavism Version 2018.1AGIS API

atavism.server.engine
Class Perceiver<ElementType extends QuadTreeElement<ElementType>>

java.lang.Object
  extended by 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

Field Summary
protected static Logger log
           
 
Constructor Summary
Perceiver()
           
 
Method Summary
 void addQuadTreeNode(QuadTreeNode<ElementType> node)
           
abstract  boolean contains(Geometry g)
           
 PerceiverFilter<ElementType> getFilter()
           
 java.util.Set<QuadTreeNode<ElementType>> getQuadTreeNodes()
          Gets the list of nodes this perceiver can perceive.
abstract  boolean overlaps(Geometry g)
           
 java.lang.Integer processNewsAndFrees(PerceiverNewsAndFrees<ElementType> newsAndFrees, OID mobilePerceiverOid)
           
 void registerCallback(PerceiverCallback<ElementType> cb)
           
 void removeQuadTreeNode(QuadTreeNode<ElementType> node)
           
 void setFilter(PerceiverFilter<ElementType> filter)
           
 boolean shouldFreeElement(ElementType elem)
           
 boolean shouldNotifyNewElement(ElementType elem)
           
 boolean shouldUpdateBasedOnLoc(Point loc)
           
 void unregisterCallback(PerceiverCallback<ElementType> cb)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static final Logger log
Constructor Detail

Perceiver

public Perceiver()
Method Detail

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()


Copyright © 2018 Dragonsan Studios Sp. z o.o.