T - The precise type of tree objectspublic final class QuadTreeD<T> extends Object implements QuadTreeDType<T>
QuadTreeDType interface.| Modifier and Type | Class and Description |
|---|---|
protected class |
QuadTreeD.Quadrant |
| Modifier and Type | Method and Description |
|---|---|
com.io7m.jregions.core.unparameterized.areas.AreaD |
areaFor(T item) |
com.io7m.jregions.core.unparameterized.areas.AreaD |
bounds() |
void |
clear()
Remove all objects from the tree.
|
void |
containedBy(com.io7m.jregions.core.unparameterized.areas.AreaD area,
Set<T> items)
Returns all objects in the tree that are completely contained within
area, saving the results to items. |
boolean |
contains(T item)
Determine whether or not the object has already been inserted into the
tree.
|
static <T> QuadTreeDType<T> |
create(QuadTreeConfigurationD config)
Create a new empty tree with the given bounds.
|
boolean |
equals(Object o) |
int |
hashCode() |
boolean |
insert(T item,
com.io7m.jregions.core.unparameterized.areas.AreaD item_bounds)
Insert the object
item into the quadtree. |
<C> void |
iterateQuadrants(C context,
QuadTreeQuadrantIterationDType<T,C> f)
Iterate over all quadrants within the tree.
|
<U> QuadTreeDType<U> |
map(BiFunction<T,com.io7m.jregions.core.unparameterized.areas.AreaD,U> f)
Apply
f to each element of the tree. |
void |
overlappedBy(com.io7m.jregions.core.unparameterized.areas.AreaD area,
Set<T> items)
Returns all objects in the tree that are overlapped
area, saving the results to items. |
void |
raycast(Ray2D ray,
SortedSet<QuadTreeRaycastResultD<T>> items)
Returns all objects that are intersected by the given ray.
|
boolean |
remove(T item)
Remove the object
item from the quadtree. |
long |
size() |
void |
trim()
Trim all empty quadrants from the tree.
|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitisEmptypublic static <T> QuadTreeDType<T> create(QuadTreeConfigurationD config)
T - The type of objects contained within the treeconfig - The tree configurationpublic void trim()
QuadTreeDTypetrim in interface QuadTreeDType<T>public long size()
size in interface QuadTreeReadableTypepublic com.io7m.jregions.core.unparameterized.areas.AreaD bounds()
bounds in interface QuadTreeReadableDType<T>public boolean insert(T item, com.io7m.jregions.core.unparameterized.areas.AreaD item_bounds)
QuadTreeDTypeInsert the object item into the quadtree.
The function returns false if the object could not be
inserted for any reason (perhaps due to being too large).
insert in interface QuadTreeDType<T>item - The object to insertitem_bounds - The object's boundstrue if the object was insertedpublic boolean contains(T item)
QuadTreeReadableDTypecontains in interface QuadTreeReadableDType<T>item - The objecttrue iff the object is in the treepublic boolean remove(T item)
QuadTreeDTypeRemove the object item from the quadtree.
The function returns false if the object could not be
removed for any reason (perhaps due to not being in the tree in the first
place).
remove in interface QuadTreeDType<T>item - The object to removetrue if the object was removedpublic void clear()
QuadTreeDTypeclear in interface QuadTreeDType<T>public <U> QuadTreeDType<U> map(BiFunction<T,com.io7m.jregions.core.unparameterized.areas.AreaD,U> f)
QuadTreeDTypef to each element of the tree.map in interface QuadTreeDType<T>map in interface QuadTreeReadableDType<T>U - The type of result elementsf - A mapping functionpublic <C> void iterateQuadrants(C context,
QuadTreeQuadrantIterationDType<T,C> f)
QuadTreeReadableDTypeiterateQuadrants in interface QuadTreeReadableDType<T>C - The type of context valuescontext - A contextual value passed to ff - An iteration functionpublic com.io7m.jregions.core.unparameterized.areas.AreaD areaFor(T item)
areaFor in interface QuadTreeReadableDType<T>item - The itemitempublic void containedBy(com.io7m.jregions.core.unparameterized.areas.AreaD area,
Set<T> items)
QuadTreeReadableDTypearea, saving the results to items.containedBy in interface QuadTreeReadableDType<T>area - The area to examineitems - The returned itemspublic void overlappedBy(com.io7m.jregions.core.unparameterized.areas.AreaD area,
Set<T> items)
QuadTreeReadableDTypearea, saving the results to items.overlappedBy in interface QuadTreeReadableDType<T>area - The area to examineitems - The returned itemspublic void raycast(Ray2D ray, SortedSet<QuadTreeRaycastResultD<T>> items)
QuadTreeReadableDTyperaycast in interface QuadTreeReadableDType<T>ray - The rayitems - The intersected itemsCopyright © 2017 <code@io7m.com> http://io7m.com