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 107 of file gim_box_set.h.

Constructor & Destructor Documentation

◆ GIM_BOX_TREE()

GIM_BOX_TREE::GIM_BOX_TREE ( )
inline

Definition at line 123 of file gim_box_set.h.

Member Function Documentation

◆ _build_sub_tree()

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

Definition at line 115 of file gim_box_set.cpp.

◆ _calc_splitting_axis()

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

Definition at line 33 of file gim_box_set.cpp.

◆ _sort_and_calc_splitting_index()

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 63 of file gim_box_set.cpp.

◆ build_tree()

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 167 of file gim_box_set.cpp.

◆ clearNodes()

void GIM_BOX_TREE::clearNodes ( )
inline

Definition at line 132 of file gim_box_set.h.

◆ getLeftNodeIndex()

GUINT GIM_BOX_TREE::getLeftNodeIndex ( GUINT  nodeindex) const
inline

Definition at line 165 of file gim_box_set.h.

◆ getNodeBound()

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

Definition at line 155 of file gim_box_set.h.

◆ getNodeCount()

GUINT GIM_BOX_TREE::getNodeCount ( ) const
inline

node count

Definition at line 139 of file gim_box_set.h.

◆ getNodeData()

GUINT GIM_BOX_TREE::getNodeData ( GUINT  nodeindex) const
inline

Definition at line 150 of file gim_box_set.h.

◆ getRightNodeIndex()

GUINT GIM_BOX_TREE::getRightNodeIndex ( GUINT  nodeindex) const
inline

Definition at line 170 of file gim_box_set.h.

◆ getScapeNodeIndex()

GUINT GIM_BOX_TREE::getScapeNodeIndex ( GUINT  nodeindex) const
inline

Definition at line 175 of file gim_box_set.h.

◆ isLeafNode()

bool GIM_BOX_TREE::isLeafNode ( GUINT  nodeindex) const
inline

tells if the node is a leaf

Definition at line 145 of file gim_box_set.h.

◆ setNodeBound()

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

Definition at line 160 of file gim_box_set.h.

Member Data Documentation

◆ m_node_array

gim_array<GIM_BOX_TREE_NODE> GIM_BOX_TREE::m_node_array
protected

Definition at line 111 of file gim_box_set.h.

◆ m_num_nodes

GUINT GIM_BOX_TREE::m_num_nodes
protected

Definition at line 110 of file gim_box_set.h.


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