Blender  V3.3
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
btBvhTree Class Reference

Basic Box tree structure. More...

#include <btGImpactBvh.h>

Public Member Functions

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

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 61 of file btGImpactBvh.h.

Constructor & Destructor Documentation

◆ btBvhTree()

btBvhTree::btBvhTree ( )
inline

Definition at line 77 of file btGImpactBvh.h.

References m_num_nodes.

Member Function Documentation

◆ _build_sub_tree()

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

◆ _calc_splitting_axis()

int btBvhTree::_calc_splitting_axis ( GIM_BVH_DATA_ARRAY primitive_boxes,
int  startIndex,
int  endIndex 
)
protected

Definition at line 65 of file btGImpactBvh.cpp.

References btVector3, center, and numIndices().

Referenced by _build_sub_tree().

◆ _sort_and_calc_splitting_index()

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

Definition at line 95 of file btGImpactBvh.cpp.

References btAssert, btVector3, center, numIndices(), and btAlignedObjectArray< T >::swap().

Referenced by _build_sub_tree().

◆ build_tree()

void btBvhTree::build_tree ( GIM_BVH_DATA_ARRAY primitive_boxes)

stackless build tree

prototype functions for box tree management

Definition at line 200 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().

◆ clearNodes()

SIMD_FORCE_INLINE void btBvhTree::clearNodes ( )
inline

Definition at line 86 of file btGImpactBvh.h.

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

◆ get_node_pointer()

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

Definition at line 135 of file btGImpactBvh.h.

References m_node_array.

Referenced by btGImpactBvh::get_node_pointer().

◆ getEscapeNodeIndex()

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

Definition at line 130 of file btGImpactBvh.h.

References m_node_array.

Referenced by btGImpactBvh::getEscapeNodeIndex().

◆ getLeftNode()

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

Definition at line 119 of file btGImpactBvh.h.

Referenced by btGImpactBvh::getLeftNode().

◆ getNodeBound()

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

Definition at line 109 of file btGImpactBvh.h.

References m_node_array.

Referenced by btGImpactBvh::getNodeBound().

◆ getNodeCount()

SIMD_FORCE_INLINE int btBvhTree::getNodeCount ( ) const
inline

node count

Definition at line 93 of file btGImpactBvh.h.

References m_num_nodes.

Referenced by btGImpactBvh::getNodeCount().

◆ getNodeData()

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

Definition at line 104 of file btGImpactBvh.h.

References m_node_array.

Referenced by btGImpactBvh::getNodeData().

◆ getRightNode()

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

Definition at line 124 of file btGImpactBvh.h.

References isLeafNode(), and m_node_array.

Referenced by btGImpactBvh::getRightNode().

◆ isLeafNode()

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

tells if the node is a leaf

Definition at line 99 of file btGImpactBvh.h.

References m_node_array.

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

◆ setNodeBound()

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

Definition at line 114 of file btGImpactBvh.h.

References m_node_array.

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

Member Data Documentation

◆ m_node_array

GIM_BVH_TREE_NODE_ARRAY btBvhTree::m_node_array
protected

◆ m_num_nodes

int btBvhTree::m_num_nodes
protected

Definition at line 64 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: