#include <OPC_OptimizedTree.h>
Private Member Functions | |
inline_ udword | GetRadius () const |
inline_ float | GetSize () const |
inline_ float | GetVolume () const |
Related Functions | |
(Note that these are not member functions.) | |
_BuildCollisionTree (AABBCollisionNode *linear, const udword box_id, udword ¤t_id, const AABBTreeNode *current_node) |
Definition at line 76 of file OPC_OptimizedTree.h.
inline_ udword AABBCollisionNode::GetRadius | ( | ) | const [inline, private] |
Definition at line 82 of file OPC_OptimizedTree.h.
inline_ float AABBCollisionNode::GetSize | ( | ) | const [inline, private] |
Definition at line 81 of file OPC_OptimizedTree.h.
inline_ float AABBCollisionNode::GetVolume | ( | ) | const [inline, private] |
Definition at line 80 of file OPC_OptimizedTree.h.
_BuildCollisionTree | ( | AABBCollisionNode * | linear, |
const udword | box_id, | ||
udword & | current_id, | ||
const AABBTreeNode * | current_node | ||
) | [related] |
Builds an implicit tree from a standard one. An implicit tree is a complete tree (2*N-1 nodes) whose negative box pointers and primitive pointers have been made implicit, hence packing 3 pointers in one.
Layout for implicit trees: Node:
if data's LSB = 1 => remaining bits are a primitive pointer else remaining bits are a P-node pointer, and N = P + 1
linear | [in] base address of destination nodes |
box_id | [in] index of destination node |
current_id | [in] current running index |
current_node | [in] current node from input tree |
Definition at line 99 of file OPC_OptimizedTree.cpp.