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

btGImpactQuantizedBvh Class Reference

Structure for containing Boxes. More...

#include <btGImpactQuantizedBvh.h>

List of all members.

Public Member Functions

 btGImpactQuantizedBvh ()
 this constructor doesn't build the tree. you must call buildSet
 btGImpactQuantizedBvh (btPrimitiveManagerBase *primitive_manager)
 this constructor doesn't build the tree. you must call buildSet
SIMD_FORCE_INLINE btAABB getGlobalBox () const
SIMD_FORCE_INLINE void setPrimitiveManager (btPrimitiveManagerBase *primitive_manager)
SIMD_FORCE_INLINE
btPrimitiveManagerBase
getPrimitiveManager () const

Protected Member Functions

void refit ()

Protected Attributes

btQuantizedBvhTree m_box_tree
btPrimitiveManagerBasem_primitive_manager

SIMD_FORCE_INLINE void update ()
 this attemps to refit the box set.
void buildSet ()
 this rebuild the entire set
bool boxQuery (const btAABB &box, btAlignedObjectArray< int > &collided_results) const
 returns the indices of the primitives in the m_primitive_manager
SIMD_FORCE_INLINE bool boxQueryTrans (const btAABB &box, const btTransform &transform, btAlignedObjectArray< int > &collided_results) const
 returns the indices of the primitives in the m_primitive_manager
bool rayQuery (const btVector3 &ray_dir, const btVector3 &ray_origin, btAlignedObjectArray< int > &collided_results) const
 returns the indices of the primitives in the m_primitive_manager
SIMD_FORCE_INLINE bool hasHierarchy () const
 tells if this set has hierarcht
SIMD_FORCE_INLINE bool isTrimesh () const
 tells if this set is a trimesh
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
 this attemps to refit the box set.
SIMD_FORCE_INLINE void getNodeBound (int nodeindex, btAABB &bound) const
 this attemps to refit the box set.
SIMD_FORCE_INLINE void setNodeBound (int nodeindex, const btAABB &bound)
 this attemps to refit the box set.
SIMD_FORCE_INLINE int getLeftNode (int nodeindex) const
 this attemps to refit the box set.
SIMD_FORCE_INLINE int getRightNode (int nodeindex) const
 this attemps to refit the box set.
SIMD_FORCE_INLINE int getEscapeNodeIndex (int nodeindex) const
 this attemps to refit the box set.
SIMD_FORCE_INLINE void getNodeTriangle (int nodeindex, btPrimitiveTriangle &triangle) const
 this attemps to refit the box set.
SIMD_FORCE_INLINE const
BT_QUANTIZED_BVH_NODE * 
get_node_pointer (int index=0) const
 this attemps to refit the box set.
static void find_collision (btGImpactQuantizedBvh *boxset1, const btTransform &trans1, btGImpactQuantizedBvh *boxset2, const btTransform &trans2, btPairSet &collision_pairs)
 this attemps to refit the box set.

Detailed Description

Structure for containing Boxes.

This class offers an structure for managing a box tree of primitives. Requires a Primitive prototype (like btPrimitiveManagerBase )

Definition at line 226 of file btGImpactQuantizedBvh.h.


Constructor & Destructor Documentation

btGImpactQuantizedBvh::btGImpactQuantizedBvh ( ) [inline]

this constructor doesn't build the tree. you must call buildSet

Definition at line 238 of file btGImpactQuantizedBvh.h.

References m_primitive_manager, and NULL.

btGImpactQuantizedBvh::btGImpactQuantizedBvh ( btPrimitiveManagerBase primitive_manager) [inline]

this constructor doesn't build the tree. you must call buildSet

Definition at line 244 of file btGImpactQuantizedBvh.h.

References m_primitive_manager.


Member Function Documentation

bool btGImpactQuantizedBvh::boxQuery ( const btAABB &  box,
btAlignedObjectArray< int > &  collided_results 
) const
SIMD_FORCE_INLINE bool btGImpactQuantizedBvh::boxQueryTrans ( const btAABB &  box,
const btTransform transform,
btAlignedObjectArray< int > &  collided_results 
) const [inline]

returns the indices of the primitives in the m_primitive_manager

Definition at line 283 of file btGImpactQuantizedBvh.h.

References boxQuery().

void btGImpactQuantizedBvh::buildSet ( )
void btGImpactQuantizedBvh::find_collision ( btGImpactQuantizedBvh boxset1,
const btTransform trans1,
btGImpactQuantizedBvh boxset2,
const btTransform trans2,
btPairSet collision_pairs 
) [static]

this attemps to refit the box set.

node manager prototype functions

Definition at line 504 of file btGImpactQuantizedBvh.cpp.

References _find_quantized_collision_pairs_recursive(), and getNodeCount().

Referenced by btGImpactCollisionAlgorithm::gimpact_vs_gimpact_find_pairs().

SIMD_FORCE_INLINE const BT_QUANTIZED_BVH_NODE* btGImpactQuantizedBvh::get_node_pointer ( int  index = 0) const [inline]

this attemps to refit the box set.

node manager prototype functions

Definition at line 357 of file btGImpactQuantizedBvh.h.

References btQuantizedBvhTree::get_node_pointer(), and m_box_tree.

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

this attemps to refit the box set.

node manager prototype functions

Definition at line 346 of file btGImpactQuantizedBvh.h.

References btQuantizedBvhTree::getEscapeNodeIndex(), and m_box_tree.

Referenced by boxQuery(), and rayQuery().

SIMD_FORCE_INLINE btAABB btGImpactQuantizedBvh::getGlobalBox ( ) const [inline]

Definition at line 249 of file btGImpactQuantizedBvh.h.

References getNodeBound().

Referenced by btGImpactShapeInterface::calcLocalAABB().

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

this attemps to refit the box set.

node manager prototype functions

Definition at line 336 of file btGImpactQuantizedBvh.h.

References btQuantizedBvhTree::getLeftNode(), and m_box_tree.

Referenced by _find_quantized_collision_pairs_recursive(), and refit().

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

this attemps to refit the box set.

node manager prototype functions

Definition at line 325 of file btGImpactQuantizedBvh.h.

References btQuantizedBvhTree::getNodeBound(), and m_box_tree.

Referenced by _quantized_node_collision(), getGlobalBox(), rayQuery(), and refit().

SIMD_FORCE_INLINE int btGImpactQuantizedBvh::getNodeCount ( ) const [inline]
SIMD_FORCE_INLINE int btGImpactQuantizedBvh::getNodeData ( int  nodeindex) const [inline]

this attemps to refit the box set.

node manager prototype functions

Definition at line 320 of file btGImpactQuantizedBvh.h.

References btQuantizedBvhTree::getNodeData(), and m_box_tree.

Referenced by _find_quantized_collision_pairs_recursive(), boxQuery(), getNodeTriangle(), rayQuery(), and refit().

SIMD_FORCE_INLINE void btGImpactQuantizedBvh::getNodeTriangle ( int  nodeindex,
btPrimitiveTriangle triangle 
) const [inline]

this attemps to refit the box set.

node manager prototype functions

Definition at line 351 of file btGImpactQuantizedBvh.h.

References btPrimitiveManagerBase::get_primitive_triangle(), getNodeData(), and m_primitive_manager.

SIMD_FORCE_INLINE btPrimitiveManagerBase* btGImpactQuantizedBvh::getPrimitiveManager ( ) const [inline]
SIMD_FORCE_INLINE int btGImpactQuantizedBvh::getRightNode ( int  nodeindex) const [inline]

this attemps to refit the box set.

node manager prototype functions

Definition at line 341 of file btGImpactQuantizedBvh.h.

References btQuantizedBvhTree::getRightNode(), and m_box_tree.

Referenced by _find_quantized_collision_pairs_recursive(), and refit().

SIMD_FORCE_INLINE bool btGImpactQuantizedBvh::hasHierarchy ( ) const [inline]

tells if this set has hierarcht

Definition at line 297 of file btGImpactQuantizedBvh.h.

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

tells if the node is a leaf

Definition at line 315 of file btGImpactQuantizedBvh.h.

References btQuantizedBvhTree::isLeafNode(), and m_box_tree.

Referenced by _find_quantized_collision_pairs_recursive(), boxQuery(), rayQuery(), and refit().

SIMD_FORCE_INLINE bool btGImpactQuantizedBvh::isTrimesh ( ) const [inline]

tells if this set is a trimesh

Definition at line 303 of file btGImpactQuantizedBvh.h.

References btPrimitiveManagerBase::is_trimesh(), and m_primitive_manager.

bool btGImpactQuantizedBvh::rayQuery ( const btVector3 &  ray_dir,
const btVector3 &  ray_origin,
btAlignedObjectArray< int > &  collided_results 
) const

returns the indices of the primitives in the m_primitive_manager

Definition at line 348 of file btGImpactQuantizedBvh.cpp.

References getEscapeNodeIndex(), getNodeBound(), getNodeCount(), getNodeData(), isLeafNode(), btAlignedObjectArray< T >::push_back(), and btAlignedObjectArray< T >::size().

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

this attemps to refit the box set.

node manager prototype functions

Definition at line 330 of file btGImpactQuantizedBvh.h.

References m_box_tree, and btQuantizedBvhTree::setNodeBound().

Referenced by refit().

SIMD_FORCE_INLINE void btGImpactQuantizedBvh::setPrimitiveManager ( btPrimitiveManagerBase primitive_manager) [inline]
SIMD_FORCE_INLINE void btGImpactQuantizedBvh::update ( ) [inline]

this attemps to refit the box set.

node manager prototype functions

Definition at line 271 of file btGImpactQuantizedBvh.h.

References refit().

Referenced by btGImpactShapeInterface::calcLocalAABB().


Member Data Documentation


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