#include <gim_box_set.h>
Public Member Functions | |
GIM_BOX_TREE () | |
void | build_tree (gim_array< GIM_AABB_DATA > &primitive_boxes) |
SIMD_FORCE_INLINE void | clearNodes () |
SIMD_FORCE_INLINE GUINT | getNodeCount () const |
node count | |
SIMD_FORCE_INLINE bool | isLeafNode (GUINT nodeindex) const |
tells if the node is a leaf | |
SIMD_FORCE_INLINE GUINT | getNodeData (GUINT nodeindex) const |
SIMD_FORCE_INLINE void | getNodeBound (GUINT nodeindex, GIM_AABB &bound) const |
SIMD_FORCE_INLINE void | setNodeBound (GUINT nodeindex, const GIM_AABB &bound) |
SIMD_FORCE_INLINE GUINT | getLeftNodeIndex (GUINT nodeindex) const |
SIMD_FORCE_INLINE GUINT | getRightNodeIndex (GUINT nodeindex) const |
SIMD_FORCE_INLINE GUINT | getScapeNodeIndex (GUINT nodeindex) const |
Protected Member Functions | |
GUINT | _sort_and_calc_splitting_index (gim_array< GIM_AABB_DATA > &primitive_boxes, GUINT startIndex, GUINT endIndex, GUINT splitAxis) |
GUINT | _calc_splitting_axis (gim_array< GIM_AABB_DATA > &primitive_boxes, GUINT startIndex, GUINT endIndex) |
void | _build_sub_tree (gim_array< GIM_AABB_DATA > &primitive_boxes, GUINT startIndex, GUINT endIndex) |
Protected Attributes | |
GUINT | m_num_nodes |
gim_array< GIM_BOX_TREE_NODE > | m_node_array |
GUINT GIM_BOX_TREE::m_num_nodes [protected] |