void GIM_BOX_TREE::_build_sub_tree | ( | gim_array< GIM_AABB_DATA > & | primitive_boxes, | |
GUINT | startIndex, | |||
GUINT | endIndex | |||
) | [protected, inherited] |
GUINT GIM_BOX_TREE::_calc_splitting_axis | ( | gim_array< GIM_AABB_DATA > & | primitive_boxes, | |
GUINT | startIndex, | |||
GUINT | endIndex | |||
) | [protected, inherited] |
GUINT GIM_BOX_TREE::_sort_and_calc_splitting_index | ( | gim_array< GIM_AABB_DATA > & | primitive_boxes, | |
GUINT | startIndex, | |||
GUINT | endIndex, | |||
GUINT | splitAxis | |||
) | [protected, inherited] |
SIMD_FORCE_INLINE bool GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::boxQuery | ( | const GIM_AABB & | box, | |
gim_array< GUINT > & | collided_results | |||
) | const [inline, inherited] |
returns the indices of the primitives in the m_primitive_manager
SIMD_FORCE_INLINE bool GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::boxQueryTrans | ( | const GIM_AABB & | box, | |
const btTransform & | transform, | |||
gim_array< GUINT > & | collided_results | |||
) | const [inline, inherited] |
returns the indices of the primitives in the m_primitive_manager
void GIM_BOX_TREE::build_tree | ( | gim_array< GIM_AABB_DATA > & | primitive_boxes | ) | [inherited] |
prototype functions for box tree management
SIMD_FORCE_INLINE void GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::buildSet | ( | ) | [inline, inherited] |
this rebuild the entire set
SIMD_FORCE_INLINE void GIM_BOX_TREE::clearNodes | ( | ) | [inline, inherited] |
void GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::find_collision | ( | BOX_SET_CLASS0 * | boxset1, | |
const btTransform & | trans1, | |||
BOX_SET_CLASS1 * | boxset2, | |||
const btTransform & | trans2, | |||
gim_pair_set & | collision_pairs, | |||
bool | complete_primitive_tests = true | |||
) | [inline, inherited] |
void GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::find_collision_pairs | ( | ) | [inline, protected, inherited] |
virtual void GIM_PRIMITIVE_MANAGER_PROTOTYPE::get_primitive_box | ( | GUINT | prim_index, | |
GIM_AABB & | primbox | |||
) | [pure virtual, inherited] |
virtual GUINT GIM_PRIMITIVE_MANAGER_PROTOTYPE::get_primitive_count | ( | ) | [pure virtual, inherited] |
virtual void GIM_PRIMITIVE_MANAGER_PROTOTYPE::get_primitive_triangle | ( | GUINT | prim_index, | |
GIM_TRIANGLE & | triangle | |||
) | [pure virtual, inherited] |
SIMD_FORCE_INLINE GIM_AABB GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getGlobalBox | ( | ) | const [inline, inherited] |
SIMD_FORCE_INLINE GUINT GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getLeftNodeIndex | ( | GUINT | nodeindex | ) | const [inline, inherited] |
SIMD_FORCE_INLINE GUINT GIM_BOX_TREE::getLeftNodeIndex | ( | GUINT | nodeindex | ) | const [inline, inherited] |
SIMD_FORCE_INLINE void GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getNodeBound | ( | GUINT | nodeindex, | |
GIM_AABB & | bound | |||
) | const [inline, inherited] |
SIMD_FORCE_INLINE void GIM_BOX_TREE::getNodeBound | ( | GUINT | nodeindex, | |
GIM_AABB & | bound | |||
) | const [inline, inherited] |
SIMD_FORCE_INLINE GUINT GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getNodeCount | ( | ) | const [inline, inherited] |
node count
SIMD_FORCE_INLINE GUINT GIM_BOX_TREE::getNodeCount | ( | ) | const [inline, inherited] |
node count
SIMD_FORCE_INLINE GUINT GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getNodeData | ( | GUINT | nodeindex | ) | const [inline, inherited] |
SIMD_FORCE_INLINE GUINT GIM_BOX_TREE::getNodeData | ( | GUINT | nodeindex | ) | const [inline, inherited] |
SIMD_FORCE_INLINE void GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getNodeTriangle | ( | GUINT | nodeindex, | |
GIM_TRIANGLE & | triangle | |||
) | const [inline, inherited] |
_GIM_PRIMITIVE_MANAGER_PROTOTYPE& GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getPrimitiveManager | ( | ) | [inline, inherited] |
const _GIM_PRIMITIVE_MANAGER_PROTOTYPE& GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getPrimitiveManager | ( | ) | const [inline, inherited] |
SIMD_FORCE_INLINE GUINT GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getRightNodeIndex | ( | GUINT | nodeindex | ) | const [inline, inherited] |
SIMD_FORCE_INLINE GUINT GIM_BOX_TREE::getRightNodeIndex | ( | GUINT | nodeindex | ) | const [inline, inherited] |
SIMD_FORCE_INLINE GUINT GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getScapeNodeIndex | ( | GUINT | nodeindex | ) | const [inline, inherited] |
SIMD_FORCE_INLINE GUINT GIM_BOX_TREE::getScapeNodeIndex | ( | GUINT | nodeindex | ) | const [inline, inherited] |
GIM_BOX_TREE::GIM_BOX_TREE | ( | ) | [inline, inherited] |
GIM_BOX_TREE_NODE::GIM_BOX_TREE_NODE | ( | ) | [inline, inherited] |
GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::GIM_BOX_TREE_TEMPLATE_SET | ( | ) | [inline, inherited] |
GIM_PAIR::GIM_PAIR | ( | GUINT | index1, | |
GUINT | index2 | |||
) | [inline, inherited] |
GIM_PAIR::GIM_PAIR | ( | const GIM_PAIR & | p | ) | [inline, inherited] |
GIM_PAIR::GIM_PAIR | ( | ) | [inline, inherited] |
GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::GIM_TREE_TREE_COLLIDER | ( | ) | [inline, inherited] |
SIMD_FORCE_INLINE bool GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::hasHierarchy | ( | ) | const [inline, inherited] |
tells if this set has hierarcht
SIMD_FORCE_INLINE bool GIM_BOX_TREE_NODE::is_leaf_node | ( | ) | const [inline, inherited] |
SIMD_FORCE_INLINE bool GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::isLeafNode | ( | GUINT | nodeindex | ) | const [inline, inherited] |
tells if the node is a leaf
SIMD_FORCE_INLINE bool GIM_BOX_TREE::isLeafNode | ( | GUINT | nodeindex | ) | const [inline, inherited] |
tells if the node is a leaf
SIMD_FORCE_INLINE bool GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::isTrimesh | ( | ) | const [inline, inherited] |
tells if this set is a trimesh
SIMD_FORCE_INLINE bool GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::node_collision | ( | GUINT | node0, | |
GUINT | node1 | |||
) | [inline, protected, inherited] |
void gim_pair_set::push_pair | ( | GUINT | index1, | |
GUINT | index2 | |||
) | [inline, inherited] |
void gim_pair_set::push_pair_inv | ( | GUINT | index1, | |
GUINT | index2 | |||
) | [inline, inherited] |
SIMD_FORCE_INLINE bool GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::rayQuery | ( | const btVector3 & | ray_dir, | |
const btVector3 & | ray_origin, | |||
gim_array< GUINT > & | collided_results | |||
) | const [inline, inherited] |
returns the indices of the primitives in the m_primitive_manager
SIMD_FORCE_INLINE void GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::refit | ( | ) | [inline, protected, inherited] |
SIMD_FORCE_INLINE void GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::retrieve_node0_info | ( | GUINT | node0 | ) | [inline, protected, inherited] |
SIMD_FORCE_INLINE void GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::retrieve_node0_triangle | ( | GUINT | node0 | ) | [inline, protected, inherited] |
SIMD_FORCE_INLINE void GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::retrieve_node1_info | ( | GUINT | node1 | ) | [inline, protected, inherited] |
SIMD_FORCE_INLINE void GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::retrieve_node1_triangle | ( | GUINT | node1 | ) | [inline, protected, inherited] |
SIMD_FORCE_INLINE void GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::setNodeBound | ( | GUINT | nodeindex, | |
const GIM_AABB & | bound | |||
) | [inline, inherited] |
SIMD_FORCE_INLINE void GIM_BOX_TREE::setNodeBound | ( | GUINT | nodeindex, | |
const GIM_AABB & | bound | |||
) | [inline, inherited] |
SIMD_FORCE_INLINE void GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::setPrimitiveManager | ( | const _GIM_PRIMITIVE_MANAGER_PROTOTYPE & | primitive_manager | ) | [inline, inherited] |
SIMD_FORCE_INLINE void GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::update | ( | ) | [inline, inherited] |
this attemps to refit the box set.
node manager prototype functions
GUINT GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::current_node0 [inherited] |
GUINT GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::current_node1 [inherited] |
GIM_AABB GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::m_box0 [inherited] |
GIM_AABB GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::m_box1 [inherited] |
_GIM_BOX_TREE_PROTOTYPE GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::m_box_tree [protected, inherited] |
BOX_SET_CLASS0* GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::m_boxset0 [inherited] |
BOX_SET_CLASS1* GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::m_boxset1 [inherited] |
GUINT GIM_BOX_TREE_NODE::m_data [inherited] |
primitive index if apply
GUINT GIM_AABB_DATA::m_data [inherited] |
GUINT GIM_BOX_TREE_NODE::m_escapeIndex [inherited] |
Scape index for traversing.
GUINT GIM_PAIR::m_index2 [inherited] |
GUINT GIM_BOX_TREE_NODE::m_left [inherited] |
Left subtree.
gim_array<GIM_BOX_TREE_NODE> GIM_BOX_TREE::m_node_array [protected, inherited] |
GUINT GIM_BOX_TREE_NODE::m_right [inherited] |
Right subtree.
GIM_TRIANGLE GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::m_tri0 [inherited] |
btVector4 GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::m_tri0_plane [inherited] |
GIM_TRIANGLE GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::m_tri1 [inherited] |
btVector4 GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::m_tri1_plane [inherited] |
bool GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::node0_has_triangle [inherited] |
bool GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::node0_is_leaf [inherited] |
bool GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::node1_has_triangle [inherited] |
bool GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::node1_is_leaf [inherited] |
bool GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::t0_is_trimesh [inherited] |
bool GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::t1_is_trimesh [inherited] |
btTransform GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::trans_cache_0to1 [inherited] |
GIM_BOX_BOX_TRANSFORM_CACHE GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::trans_cache_1to0 [inherited] |