Bullet Collision Detection & Physics Library
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GIM_BOX_TREE Class Reference

Basic Box tree structure. More...

#include <gim_box_set.h>

Collaboration diagram for GIM_BOX_TREE:
Collaboration graph
[legend]

Public Member Functions

 GIM_BOX_TREE ()
 
void build_tree (gim_array< GIM_AABB_DATA > &primitive_boxes)
 prototype functions for box tree management More...
 
void clearNodes ()
 
GUINT getNodeCount () const
 node count More...
 
bool isLeafNode (GUINT nodeindex) const
 tells if the node is a leaf More...
 
GUINT getNodeData (GUINT nodeindex) const
 
void getNodeBound (GUINT nodeindex, GIM_AABB &bound) const
 
void setNodeBound (GUINT nodeindex, const GIM_AABB &bound)
 
GUINT getLeftNodeIndex (GUINT nodeindex) const
 
GUINT getRightNodeIndex (GUINT nodeindex) const
 
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_NODEm_node_array
 

Detailed Description

Basic Box tree structure.

Definition at line 133 of file gim_box_set.h.

Constructor & Destructor Documentation

GIM_BOX_TREE::GIM_BOX_TREE ( )
inline

Definition at line 147 of file gim_box_set.h.

Member Function Documentation

void GIM_BOX_TREE::_build_sub_tree ( gim_array< GIM_AABB_DATA > &  primitive_boxes,
GUINT  startIndex,
GUINT  endIndex 
)
protected

Definition at line 119 of file gim_box_set.cpp.

GUINT GIM_BOX_TREE::_calc_splitting_axis ( gim_array< GIM_AABB_DATA > &  primitive_boxes,
GUINT  startIndex,
GUINT  endIndex 
)
protected

Definition at line 35 of file gim_box_set.cpp.

GUINT GIM_BOX_TREE::_sort_and_calc_splitting_index ( gim_array< GIM_AABB_DATA > &  primitive_boxes,
GUINT  startIndex,
GUINT  endIndex,
GUINT  splitAxis 
)
protected

Definition at line 66 of file gim_box_set.cpp.

void GIM_BOX_TREE::build_tree ( gim_array< GIM_AABB_DATA > &  primitive_boxes)

prototype functions for box tree management

stackless build tree

Definition at line 171 of file gim_box_set.cpp.

void GIM_BOX_TREE::clearNodes ( )
inline

Definition at line 156 of file gim_box_set.h.

GUINT GIM_BOX_TREE::getLeftNodeIndex ( GUINT  nodeindex) const
inline

Definition at line 189 of file gim_box_set.h.

void GIM_BOX_TREE::getNodeBound ( GUINT  nodeindex,
GIM_AABB bound 
) const
inline

Definition at line 179 of file gim_box_set.h.

GUINT GIM_BOX_TREE::getNodeCount ( ) const
inline

node count

Definition at line 163 of file gim_box_set.h.

GUINT GIM_BOX_TREE::getNodeData ( GUINT  nodeindex) const
inline

Definition at line 174 of file gim_box_set.h.

GUINT GIM_BOX_TREE::getRightNodeIndex ( GUINT  nodeindex) const
inline

Definition at line 194 of file gim_box_set.h.

GUINT GIM_BOX_TREE::getScapeNodeIndex ( GUINT  nodeindex) const
inline

Definition at line 199 of file gim_box_set.h.

bool GIM_BOX_TREE::isLeafNode ( GUINT  nodeindex) const
inline

tells if the node is a leaf

Definition at line 169 of file gim_box_set.h.

void GIM_BOX_TREE::setNodeBound ( GUINT  nodeindex,
const GIM_AABB bound 
)
inline

Definition at line 184 of file gim_box_set.h.

Member Data Documentation

gim_array<GIM_BOX_TREE_NODE> GIM_BOX_TREE::m_node_array
protected

Definition at line 137 of file gim_box_set.h.

GUINT GIM_BOX_TREE::m_num_nodes
protected

Definition at line 136 of file gim_box_set.h.


The documentation for this class was generated from the following files: