Public Member Functions | Protected Member Functions | Protected Attributes

GIM_BOX_TREE Class Reference

Basic Box tree structure. More...

#include <gim_box_set.h>

Collaboration diagram for GIM_BOX_TREE:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 GIM_BOX_TREE ()

void build_tree (gim_array< GIM_AABB_DATA > &primitive_boxes)
 prototype functions for box tree management
void clearNodes ()
GUINT getNodeCount () const
 node count
bool isLeafNode (GUINT nodeindex) const
 tells if the node is a leaf
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

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: