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