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 ) |