#include <OPC_AABBTree.h>
Public Member Functions | |
AABBTree () | |
bool | Build (AABBTreeBuilder *builder) |
udword | ComputeDepth () const |
inline_ const udword * | GetIndices () const |
Catch the indices. | |
inline_ udword | GetNbNodes () const |
Catch the number of nodes. | |
udword | GetUsedBytes () const |
bool | IsComplete () const |
bool | Refit (AABBTreeBuilder *builder) |
bool | Refit2 (AABBTreeBuilder *builder) |
void | Release () |
udword | Walk (WalkingCallback callback, void *user_data) const |
~AABBTree () | |
Private Attributes | |
udword * | mIndices |
Indices in the app list. Indices are reorganized during build (permutation). | |
AABBTreeNode * | mPool |
Linear pool of nodes for complete trees. Null otherwise. [Opcode 1.3]. | |
udword | mTotalNbNodes |
Number of nodes in the tree. |
Contains a generic AABB tree. This is a vanilla AABB tree, without any particular optimization. It contains anonymous references to user-provided primitives, which can theoretically be anything - triangles, boxes, etc. Each primitive is surrounded by an AABB, regardless of the primitive's nature. When the primitive is a triangle, the resulting tree can be converted into an optimized tree. If the primitive is a box, the resulting tree can be used for culling - VFC or occlusion -, assuming you cull on a mesh-by-mesh basis (modern way).
Definition at line 113 of file OPC_AABBTree.h.
bool AABBTree::Build | ( | AABBTreeBuilder * | builder | ) |
udword AABBTree::ComputeDepth | ( | ) | const |
inline_ const udword* AABBTree::GetIndices | ( | ) | const [inline] |
Catch the indices.
Definition at line 124 of file OPC_AABBTree.h.
inline_ udword AABBTree::GetNbNodes | ( | ) | const [inline] |
Catch the number of nodes.
Definition at line 125 of file OPC_AABBTree.h.
udword AABBTree::GetUsedBytes | ( | ) | const |
bool AABBTree::IsComplete | ( | ) | const |
bool AABBTree::Refit | ( | AABBTreeBuilder * | builder | ) |
bool AABBTree::Refit2 | ( | AABBTreeBuilder * | builder | ) |
udword AABBTree::Walk | ( | WalkingCallback | callback, |
void * | user_data | ||
) | const |
udword* AABBTree::mIndices [private] |
Indices in the app list. Indices are reorganized during build (permutation).
Definition at line 137 of file OPC_AABBTree.h.
AABBTreeNode* AABBTree::mPool [private] |
Linear pool of nodes for complete trees. Null otherwise. [Opcode 1.3].
Definition at line 138 of file OPC_AABBTree.h.
udword AABBTree::mTotalNbNodes [private] |
Number of nodes in the tree.
Definition at line 140 of file OPC_AABBTree.h.