Blender V5.0
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
SIMD_FORCE_INLINE void clearNodes ()
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
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, i, 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, i, 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, and btAlignedObjectArray< T >::size().

◆ clearNodes()

SIMD_FORCE_INLINE void btBvhTree::clearNodes ( )
inline

Definition at line 86 of file btGImpactBvh.h.

References m_node_array, m_num_nodes, and SIMD_FORCE_INLINE.

◆ 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, and SIMD_FORCE_INLINE.

◆ getEscapeNodeIndex()

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

Definition at line 130 of file btGImpactBvh.h.

References m_node_array, and SIMD_FORCE_INLINE.

◆ getLeftNode()

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

Definition at line 119 of file btGImpactBvh.h.

References SIMD_FORCE_INLINE.

◆ getNodeBound()

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

Definition at line 109 of file btGImpactBvh.h.

References btAABB, m_node_array, and SIMD_FORCE_INLINE.

◆ getNodeCount()

SIMD_FORCE_INLINE int btBvhTree::getNodeCount ( ) const
inline

node count

Definition at line 93 of file btGImpactBvh.h.

References m_num_nodes, and SIMD_FORCE_INLINE.

◆ getNodeData()

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

Definition at line 104 of file btGImpactBvh.h.

References m_node_array, and SIMD_FORCE_INLINE.

◆ getRightNode()

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

Definition at line 124 of file btGImpactBvh.h.

References isLeafNode(), m_node_array, and SIMD_FORCE_INLINE.

◆ 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, and SIMD_FORCE_INLINE.

◆ setNodeBound()

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

Definition at line 114 of file btGImpactBvh.h.

References btAABB, m_node_array, and SIMD_FORCE_INLINE.

Referenced by _build_sub_tree().

Member Data Documentation

◆ m_node_array

◆ 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: