Maven module :un.api : api-geometry :
Class : un.api.geometry.index.quadtrees.QuadTreePrune
Extends/Implements : un.api.geometry.index.quadtrees.QuadTreeType
Subclasses : -


A quadtree implementation based on {@link QuadTreeBasic} but implementing
empty node pruning when an object is removed from the tree.



An implementation that aggressively removes empty nodes from the tree
increases garbage collection pressure, but reduces the number of nodes that
must be traversed when enumerating objects. This improves the performance
of area and raycast queries.



@param The type of objects contained within the tree.
@author Mark Raynsford


Variables : -
Functions : newQuadTree, quadTreeClear, quadTreeGetPositionX, quadTreeGetPositionY, quadTreeGetSizeX, quadTreeGetSizeY, quadTreeInsert, quadTreeIterateObjects, quadTreeQueryAreaContaining, quadTreeQueryAreaOverlapping, quadTreeQueryRaycast, quadTreeQueryRaycastQuadrants, quadTreeRemove, quadTreeTraverse, toString




Construct a new quadtree with the given size and position.
param  size
The size.
param  position
The position.
return  A new quadtree.
param  
The precise type of quadtree members.
public QuadTreeType newQuadTree (Vector size, Vector position)

public void quadTreeClear ()

public double quadTreeGetPositionX ()

public double quadTreeGetPositionY ()

public double quadTreeGetSizeX ()

public double quadTreeGetSizeY ()

public boolean quadTreeInsert (T item)

public void quadTreeIterateObjects (Predicate f)

public void quadTreeQueryAreaContaining (BBox area, SortedSet items)

public void quadTreeQueryAreaOverlapping (BBox area, SortedSet items)

public void quadTreeQueryRaycast (Ray ray, SortedSet> items)

public void quadTreeQueryRaycastQuadrants (Ray ray, SortedSet> items)

public boolean quadTreeRemove (T item)

public void quadTreeTraverse (QuadTreeTraversalType traversal)

public String toString ()