#include <OPC_AABBTree.h>

Public Member Functions | |
| inline_ udword | GetNbPrimitives () const |
| const inline_ udword * | GetPrimitives () const |
Protected Member Functions | |
| void | _BuildHierarchy (AABBTreeBuilder *builder) |
| void | _Refit (AABBTreeBuilder *builder) |
| udword | Split (udword axis, AABBTreeBuilder *builder) |
| bool | Subdivide (AABBTreeBuilder *builder) |
Protected Attributes | |
| udword | mNbPrimitives |
| Number of primitives for this node. More... | |
| udword * | mNodePrimitives |
| Node-related primitives (shortcut to a position in mIndices below) More... | |
Contains a generic AABB tree node.
Definition at line 83 of file OPC_AABBTree.h.
|
protected |
Recursive hierarchy building in a top-down fashion.
| builder | [in] the tree builder |
Definition at line 333 of file OPC_AABBTree.cpp.
|
protected |
Refits the tree (top-down).
| builder | [in] the tree builder |
Definition at line 354 of file OPC_AABBTree.cpp.
Definition at line 89 of file OPC_AABBTree.h.
Definition at line 88 of file OPC_AABBTree.h.
|
protected |
Splits the node along a given axis. The list of indices is reorganized according to the split values.
| axis | [in] splitting axis index |
| builder | [in] the tree builder |
Definition at line 99 of file OPC_AABBTree.cpp.
|
protected |
Subdivides the node.
N
/ \
/ \
N/2 N/2 / \ / \ N/4 N/4 N/4 N/4 (etc)
A well-balanced tree should have a O(log n) depth. A degenerate tree would have a O(n) depth. Note a perfectly-balanced tree is not well-suited to collision detection anyway.
| builder | [in] the tree builder |
Definition at line 150 of file OPC_AABBTree.cpp.
|
protected |
Number of primitives for this node.
Definition at line 94 of file OPC_AABBTree.h.
|
protected |
Node-related primitives (shortcut to a position in mIndices below)
Definition at line 93 of file OPC_AABBTree.h.