T - The precise type of tree objectspublic final class OctTreeD<T> extends Object implements OctTreeDType<T>
OctTreeDType interface.| Modifier and Type | Class and Description |
|---|---|
protected class |
OctTreeD.Octant |
| Modifier and Type | Method and Description |
|---|---|
com.io7m.jregions.core.unparameterized.volumes.VolumeD |
bounds() |
void |
clear()
Remove all objects from the tree.
|
void |
containedBy(com.io7m.jregions.core.unparameterized.volumes.VolumeD volume,
Set<T> items)
Returns all objects in the tree that are completely contained within
volume, saving the results to items. |
boolean |
contains(T item)
Determine whether or not the object has already been inserted into the
tree.
|
static <T> OctTreeDType<T> |
create(OctTreeConfigurationD 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.volumes.VolumeD item_bounds)
Insert the object
item into the octtree. |
<C> void |
iterateOctants(C context,
OctTreeOctantIterationDType<T,C> f)
Iterate over all octants within the tree.
|
<U> OctTreeDType<U> |
map(BiFunction<T,com.io7m.jregions.core.unparameterized.volumes.VolumeD,U> f)
Apply
f to each element of the tree. |
void |
overlappedBy(com.io7m.jregions.core.unparameterized.volumes.VolumeD volume,
Set<T> items)
Returns all objects in the tree that are overlapped
volume, saving the results to items. |
void |
raycast(Ray3D ray,
SortedSet<OctTreeRaycastResultD<T>> items)
Returns all objects that are intersected by the given ray.
|
boolean |
remove(T item)
Remove the object
item from the octtree. |
long |
size() |
void |
trim()
Trim all empty quadrants from the tree.
|
com.io7m.jregions.core.unparameterized.volumes.VolumeD |
volumeFor(T item) |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitisEmptypublic static <T> OctTreeDType<T> create(OctTreeConfigurationD config)
T - The type of objects contained within the treeconfig - The tree configurationpublic void trim()
OctTreeDTypetrim in interface OctTreeDType<T>public long size()
size in interface OctTreeReadableTypepublic com.io7m.jregions.core.unparameterized.volumes.VolumeD bounds()
bounds in interface OctTreeReadableDType<T>public boolean insert(T item, com.io7m.jregions.core.unparameterized.volumes.VolumeD item_bounds)
OctTreeDTypeInsert the object item into the octtree.
The function returns false if the object could not be
inserted for any reason (perhaps due to being too large).
insert in interface OctTreeDType<T>item - The object to insertitem_bounds - The object's boundstrue if the object was insertedpublic boolean contains(T item)
OctTreeReadableDTypecontains in interface OctTreeReadableDType<T>item - The objecttrue iff the object is in the treepublic boolean remove(T item)
OctTreeDTypeRemove the object item from the octtree.
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 OctTreeDType<T>item - The object to removetrue if the object was removedpublic void clear()
OctTreeDTypeclear in interface OctTreeDType<T>public <U> OctTreeDType<U> map(BiFunction<T,com.io7m.jregions.core.unparameterized.volumes.VolumeD,U> f)
OctTreeDTypef to each element of the tree.map in interface OctTreeDType<T>map in interface OctTreeReadableDType<T>U - The type of result elementsf - A mapping functionpublic <C> void iterateOctants(C context,
OctTreeOctantIterationDType<T,C> f)
OctTreeReadableDTypeiterateOctants in interface OctTreeReadableDType<T>C - The type of context valuescontext - A contextual value passed to ff - An iteration functionpublic com.io7m.jregions.core.unparameterized.volumes.VolumeD volumeFor(T item)
volumeFor in interface OctTreeReadableDType<T>item - The itemitempublic void containedBy(com.io7m.jregions.core.unparameterized.volumes.VolumeD volume,
Set<T> items)
OctTreeReadableDTypevolume, saving the results to items.containedBy in interface OctTreeReadableDType<T>volume - The volume to examineitems - The returned itemspublic void overlappedBy(com.io7m.jregions.core.unparameterized.volumes.VolumeD volume,
Set<T> items)
OctTreeReadableDTypevolume, saving the results to items.overlappedBy in interface OctTreeReadableDType<T>volume - The volume to examineitems - The returned itemspublic void raycast(Ray3D ray, SortedSet<OctTreeRaycastResultD<T>> items)
OctTreeReadableDTyperaycast in interface OctTreeReadableDType<T>ray - The rayitems - The intersected itemsCopyright © 2017 <code@io7m.com> http://io7m.com