public abstract class QuadTree.QuadTreeNode extends java.lang.Object implements IBounds
| Modifier and Type | Field and Description |
|---|---|
protected QuadTree.QuadTreeNode |
mBottomLeftChild |
protected QuadTree.QuadTreeNode |
mBottomRightChild |
protected java.util.List<T> |
mItems |
protected int |
mLevel |
protected QuadTree.QuadTreeNode |
mTopLeftChild |
protected QuadTree.QuadTreeNode |
mTopRightChild |
| Modifier | Constructor and Description |
|---|---|
protected |
QuadTreeNode(int pLevel) |
| Modifier and Type | Method and Description |
|---|---|
void |
add(T pItem,
B pBounds) |
protected abstract void |
appendBoundsToString(java.lang.StringBuilder pStringBuilder) |
void |
callItems(ParameterCallable<T> pParameterCallable) |
void |
callNodes(ParameterCallable<QuadTree.QuadTreeNode> pParameterCallable) |
protected void |
clear() |
protected abstract boolean |
containedBy(B pBounds) |
protected abstract boolean |
contains(B pBounds) |
protected abstract boolean |
contains(BoundsSplit pBoundsSplit,
B pBounds) |
boolean |
containsAny(B pBounds) |
boolean |
containsAny(B pBounds,
IMatcher<T> pMatcher) |
int |
getItemCount() |
java.util.List<T> |
getItems() |
java.util.ArrayList<T> |
getItemsAndItemsBelow() |
java.util.ArrayList<T> |
getItemsAndItemsBelow(IMatcher<T> pMatcher) |
<L extends java.util.List<T>> |
getItemsAndItemsBelow(IMatcher<T> pMatcher,
L pResult) |
<L extends java.util.List<T>> |
getItemsAndItemsBelow(L pResult) |
<L extends java.util.List<S>,S extends T> |
getItemsAndItemsBelowForSubclass(IMatcher<T> pMatcher,
L pResult) |
boolean |
hasChildren() |
protected abstract boolean |
intersects(B pBounds) |
protected abstract boolean |
intersects(B pBoundsA,
B pBoundsB) |
java.util.ArrayList<T> |
query(B pBounds) |
<L extends java.util.List<T>> |
query(B pBounds,
IMatcher<T> pMatcher,
L pResult) |
<L extends java.util.List<T>> |
query(B pBounds,
L pResult) |
<L extends java.util.List<S>,S extends T> |
queryForSubclass(B pBounds,
IMatcher<T> pMatcher,
L pResult) |
boolean |
remove(T pItem) |
boolean |
remove(T pItem,
B pBounds) |
protected abstract QuadTree.QuadTreeNode |
split(BoundsSplit pBoundsSplit) |
java.lang.String |
toString() |
java.lang.String |
toString(int pIndent) |
protected final int mLevel
protected java.util.List<T extends ISpatialItem<B>> mItems
protected QuadTree.QuadTreeNode mTopLeftChild
protected QuadTree.QuadTreeNode mTopRightChild
protected QuadTree.QuadTreeNode mBottomLeftChild
protected QuadTree.QuadTreeNode mBottomRightChild
public boolean hasChildren()
public java.util.List<T> getItems()
null.protected abstract boolean contains(B pBounds)
protected abstract boolean contains(BoundsSplit pBoundsSplit, B pBounds)
protected abstract boolean containedBy(B pBounds)
protected abstract boolean intersects(B pBounds)
protected abstract QuadTree.QuadTreeNode split(BoundsSplit pBoundsSplit)
protected abstract void appendBoundsToString(java.lang.StringBuilder pStringBuilder)
public java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String toString(int pIndent)
public int getItemCount()
public void callItems(ParameterCallable<T> pParameterCallable)
public void callNodes(ParameterCallable<QuadTree.QuadTreeNode> pParameterCallable)
public java.util.ArrayList<T> getItemsAndItemsBelow()
public <L extends java.util.List<T>> L getItemsAndItemsBelow(L pResult)
QuadTree.QuadTreeNode and all children (recursively).public <L extends java.util.List<T>> L getItemsAndItemsBelow(IMatcher<T> pMatcher, L pResult)
public <L extends java.util.List<S>,S extends T> L getItemsAndItemsBelowForSubclass(IMatcher<T> pMatcher, L pResult) throws java.lang.ClassCastException
java.lang.ClassCastExceptionpublic <L extends java.util.List<S>,S extends T> L queryForSubclass(B pBounds, IMatcher<T> pMatcher, L pResult) throws java.lang.ClassCastException
java.lang.ClassCastExceptionpublic boolean containsAny(B pBounds)
public void add(T pItem, B pBounds) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentExceptionpublic boolean remove(T pItem) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentExceptionpublic boolean remove(T pItem, B pBounds) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentExceptionprotected void clear()