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