|
Rasterfarm-SDK
|
#include <aaboxtree.h>
Classes | |
| class | Branch |
| class | Leaf |
| class | Node |
Public Member Functions | |
| AABoxTree (const Primitive2D::AABoundingBox &cube) | |
| AABoxTree (const HeapArray< Primitive2D::AABoundingBox > &cube) | |
| AABoxTree (const AABoxTree &)=delete | |
| virtual | ~AABoxTree () |
| void | operator= (const AABoxTree &)=delete |
| operator Branch & () const | |
| operator Branch * () const | |
| operator HeapArray< Leaf * > () | |
| HeapArray< Leaf * > | getLeaves () const |
| Leaf & | operator[] (Handle index) const |
| Handle | operator[] (const Primitive2D::AABoundingBox &box) const |
| size_t | size () const |
| Leaf * | insert (const Primitive2D::AABoundingBox &cube) |
| HeapArray< Leaf * > | insert (const HeapArray< Primitive2D::AABoundingBox > &box) |
| HeapArray< Leaf * > | intersect (const Primitive2D::AABoundingBox &box) |
| Leaf * | nearest (const Vertex2f &vertex) |
| HeapArray< Leaf * > | inside (const Vertex2f &v, float precision=0.0f) |
| HeapArray< Leaf * > | inside (const Primitive2D::AABoundingBox &box, float precision=0.0f) |
| HeapArray< Leaf * > | within (const Primitive2D::AABoundingBox &box, float precision=0.0f) |
| void | erase (Leaf *pLeaf) |
| void | erase (Handle index) |
Static Public Member Functions | |
| static bool | larger (const Primitive2D::AABoundingBox &leftCube, const Primitive2D::AABoundingBox &rightCube) |
This tree sorts axis-aligned bounding boxes and their spatial relationships. Each box typically represents the bounds of some geometry or point-cloud. By sorting these boxes based-upon the spatial relationship to it's parent the number of collision tests can be greatly reduced.
| Tree::AABoxTree::AABoxTree | ( | const Primitive2D::AABoundingBox & | cube | ) |
| An | axis-aligned 3d bounding-cube |
| Tree::AABoxTree::AABoxTree | ( | const HeapArray< Primitive2D::AABoundingBox > & | cube | ) |
| A | unique-set of axis-aligned 3d bounding-cube |
|
delete |
Copying an AABoxTree is not currently supported;
|
virtual |
|
inline |
Removes and deletes this leaf.
| Pointer | of the leaf to remove; |
| void Tree::AABoxTree::erase | ( | Leaf * | pLeaf | ) |
Removes and deletes this leaf.
| Pointer | of the leaf to remove; |
| HeapArray< Leaf * > Tree::AABoxTree::getLeaves | ( | ) | const |
| HeapArray< Leaf * > Tree::AABoxTree::insert | ( | const HeapArray< Primitive2D::AABoundingBox > & | box | ) |
| Leaf * Tree::AABoxTree::insert | ( | const Primitive2D::AABoundingBox & | cube | ) |
| HeapArray< Leaf * > Tree::AABoxTree::inside | ( | const Primitive2D::AABoundingBox & | box, |
| float | precision = 0.0f ) |
| HeapArray< Leaf * > Tree::AABoxTree::intersect | ( | const Primitive2D::AABoundingBox & | box | ) |
|
static |
| The | vertex to search the tree. |
|
inline |
|
inline |
|
inline |
|
delete |
Copying an AABoxTree is not currently supported;
| Handle Tree::AABoxTree::operator[] | ( | const Primitive2D::AABoundingBox & | box | ) | const |
| Leaf & Tree::AABoxTree::operator[] | ( | Handle | index | ) | const |
|
inline |
| HeapArray< Leaf * > Tree::AABoxTree::within | ( | const Primitive2D::AABoundingBox & | box, |
| float | precision = 0.0f ) |