#include <OPC_AABBTree.h>
Public Member Functions | |
AABBTree () | |
bool | Build (AABBTreeBuilder *builder) |
udword | ComputeDepth () const |
inline_ const udword * | GetIndices () const |
Catch the indices. More... | |
inline_ udword | GetNbNodes () const |
Catch the number of nodes. More... | |
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 () | |
Public Member Functions inherited from AABBTreeNode | |
inline_ udword | GetNbPrimitives () const |
inline_ const udword * | GetPrimitives () const |
Private Attributes | |
udword * | mIndices |
Indices in the app list. Indices are reorganized during build (permutation). More... | |
AABBTreeNode * | mPool |
Linear pool of nodes for complete trees. Null otherwise. [Opcode 1.3]. More... | |
udword | mTotalNbNodes |
Number of nodes in the tree. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from AABBTreeNode | |
void | _BuildHierarchy (AABBTreeBuilder *builder) |
void | _Refit (AABBTreeBuilder *builder) |
udword | Split (udword axis, AABBTreeBuilder *builder) |
bool | Subdivide (AABBTreeBuilder *builder) |
Protected Attributes inherited from AABBTreeNode | |
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. 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.
AABBTree::AABBTree | ( | ) |
AABBTree::~AABBTree | ( | ) |
bool AABBTree::Build | ( | AABBTreeBuilder * | builder | ) |
udword AABBTree::ComputeDepth | ( | ) | const |
Catch the indices.
Definition at line 124 of file OPC_AABBTree.h.
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 | ) |
void AABBTree::Release | ( | ) |
udword AABBTree::Walk | ( | WalkingCallback | callback, |
void * | user_data | ||
) | const |
|
private |
Indices in the app list. Indices are reorganized during build (permutation).
Definition at line 137 of file OPC_AABBTree.h.
|
private |
Linear pool of nodes for complete trees. Null otherwise. [Opcode 1.3].
Definition at line 138 of file OPC_AABBTree.h.
|
private |
Number of nodes in the tree.
Definition at line 140 of file OPC_AABBTree.h.