Blender V2.61 - r43446
|
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 () |
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 |
Basic Box tree structure.
Definition at line 143 of file btGImpactBvh.h.
btBvhTree::btBvhTree | ( | ) | [inline] |
Definition at line 157 of file btGImpactBvh.h.
References m_num_nodes.
void btBvhTree::_build_sub_tree | ( | GIM_BVH_DATA_ARRAY & | primitive_boxes, |
int | startIndex, | ||
int | endIndex | ||
) | [protected] |
Definition at line 160 of file btGImpactBvh.cpp.
References _calc_splitting_axis(), _sort_and_calc_splitting_index(), btAssert, i, m_node_array, m_num_nodes, and setNodeBound().
Referenced by build_tree().
int btBvhTree::_calc_splitting_axis | ( | GIM_BVH_DATA_ARRAY & | primitive_boxes, |
int | startIndex, | ||
int | endIndex | ||
) | [protected] |
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().
GIM_BVH_TREE_NODE_ARRAY btBvhTree::m_node_array [protected] |
Definition at line 147 of file btGImpactBvh.h.
Referenced by _build_sub_tree(), build_tree(), clearNodes(), get_node_pointer(), getEscapeNodeIndex(), getNodeBound(), getNodeData(), getRightNode(), isLeafNode(), and setNodeBound().
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().