Blender V2.61 - r43446
Public Member Functions | Protected Member Functions | Protected Attributes

btBvhTree Class Reference

Basic Box tree structure. More...

#include <btGImpactBvh.h>

List of all members.

Public Member Functions

 btBvhTree ()
void build_tree (GIM_BVH_DATA_ARRAY &primitive_boxes)
 stackless build tree
SIMD_FORCE_INLINE void clearNodes ()
 stackless build tree
SIMD_FORCE_INLINE int getNodeCount () const
 node count
SIMD_FORCE_INLINE bool isLeafNode (int nodeindex) const
 tells if the node is a leaf
SIMD_FORCE_INLINE int getNodeData (int nodeindex) const
 stackless build tree
SIMD_FORCE_INLINE void getNodeBound (int nodeindex, btAABB &bound) const
 stackless build tree
SIMD_FORCE_INLINE void setNodeBound (int nodeindex, const btAABB &bound)
 stackless build tree
SIMD_FORCE_INLINE int getLeftNode (int nodeindex) const
 stackless build tree
SIMD_FORCE_INLINE int getRightNode (int nodeindex) const
 stackless build tree
SIMD_FORCE_INLINE int getEscapeNodeIndex (int nodeindex) const
 stackless build tree
SIMD_FORCE_INLINE const
GIM_BVH_TREE_NODE
get_node_pointer (int index=0) const
 stackless build tree

Protected Member Functions

int _sort_and_calc_splitting_index (GIM_BVH_DATA_ARRAY &primitive_boxes, int startIndex, int endIndex, int splitAxis)
int _calc_splitting_axis (GIM_BVH_DATA_ARRAY &primitive_boxes, int startIndex, int endIndex)
void _build_sub_tree (GIM_BVH_DATA_ARRAY &primitive_boxes, int startIndex, int endIndex)

Protected Attributes

int m_num_nodes
GIM_BVH_TREE_NODE_ARRAY m_node_array

Detailed Description

Basic Box tree structure.

Definition at line 143 of file btGImpactBvh.h.


Constructor & Destructor Documentation

btBvhTree::btBvhTree ( ) [inline]

Definition at line 157 of file btGImpactBvh.h.

References m_num_nodes.


Member Function Documentation

void btBvhTree::_build_sub_tree ( GIM_BVH_DATA_ARRAY primitive_boxes,
int  startIndex,
int  endIndex 
) [protected]
int btBvhTree::_calc_splitting_axis ( GIM_BVH_DATA_ARRAY primitive_boxes,
int  startIndex,
int  endIndex 
) [protected]

Definition at line 67 of file btGImpactBvh.cpp.

References i.

Referenced by _build_sub_tree().

int btBvhTree::_sort_and_calc_splitting_index ( GIM_BVH_DATA_ARRAY primitive_boxes,
int  startIndex,
int  endIndex,
int  splitAxis 
) [protected]

Definition at line 99 of file btGImpactBvh.cpp.

References btAssert, i, and btAlignedObjectArray< T >::swap().

Referenced by _build_sub_tree().

void btBvhTree::build_tree ( GIM_BVH_DATA_ARRAY primitive_boxes)

stackless build tree

prototype functions for box tree management

Definition at line 212 of file btGImpactBvh.cpp.

References _build_sub_tree(), m_node_array, m_num_nodes, btAlignedObjectArray< T >::resize(), and btAlignedObjectArray< T >::size().

Referenced by btGImpactBvh::buildSet().

SIMD_FORCE_INLINE void btBvhTree::clearNodes ( ) [inline]

stackless build tree

prototype functions for box tree management

Definition at line 166 of file btGImpactBvh.h.

References btAlignedObjectArray< T >::clear(), m_node_array, and m_num_nodes.

SIMD_FORCE_INLINE const GIM_BVH_TREE_NODE* btBvhTree::get_node_pointer ( int  index = 0) const [inline]

stackless build tree

prototype functions for box tree management

Definition at line 215 of file btGImpactBvh.h.

References m_node_array.

Referenced by btGImpactBvh::get_node_pointer().

SIMD_FORCE_INLINE int btBvhTree::getEscapeNodeIndex ( int  nodeindex) const [inline]

stackless build tree

prototype functions for box tree management

Definition at line 210 of file btGImpactBvh.h.

References m_node_array.

Referenced by btGImpactBvh::getEscapeNodeIndex().

SIMD_FORCE_INLINE int btBvhTree::getLeftNode ( int  nodeindex) const [inline]

stackless build tree

prototype functions for box tree management

Definition at line 199 of file btGImpactBvh.h.

Referenced by btGImpactBvh::getLeftNode().

SIMD_FORCE_INLINE void btBvhTree::getNodeBound ( int  nodeindex,
btAABB &  bound 
) const [inline]

stackless build tree

prototype functions for box tree management

Definition at line 189 of file btGImpactBvh.h.

References m_node_array.

Referenced by btGImpactBvh::getNodeBound().

SIMD_FORCE_INLINE int btBvhTree::getNodeCount ( ) const [inline]

node count

Definition at line 173 of file btGImpactBvh.h.

References m_num_nodes.

Referenced by btGImpactBvh::getNodeCount().

SIMD_FORCE_INLINE int btBvhTree::getNodeData ( int  nodeindex) const [inline]

stackless build tree

prototype functions for box tree management

Definition at line 184 of file btGImpactBvh.h.

References m_node_array.

Referenced by btGImpactBvh::getNodeData().

SIMD_FORCE_INLINE int btBvhTree::getRightNode ( int  nodeindex) const [inline]

stackless build tree

prototype functions for box tree management

Definition at line 204 of file btGImpactBvh.h.

References isLeafNode(), and m_node_array.

Referenced by btGImpactBvh::getRightNode().

SIMD_FORCE_INLINE bool btBvhTree::isLeafNode ( int  nodeindex) const [inline]

tells if the node is a leaf

Definition at line 179 of file btGImpactBvh.h.

References m_node_array.

Referenced by getRightNode(), and btGImpactBvh::isLeafNode().

SIMD_FORCE_INLINE void btBvhTree::setNodeBound ( int  nodeindex,
const btAABB &  bound 
) [inline]

stackless build tree

prototype functions for box tree management

Definition at line 194 of file btGImpactBvh.h.

References m_node_array.

Referenced by _build_sub_tree(), and btGImpactBvh::setNodeBound().


Member Data Documentation

int btBvhTree::m_num_nodes [protected]

Definition at line 146 of file btGImpactBvh.h.

Referenced by _build_sub_tree(), btBvhTree(), build_tree(), clearNodes(), and getNodeCount().


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