Blender
V3.3
|
#include "LinearMath/btVector3.h"
#include "LinearMath/btAlignedAllocator.h"
#include "LinearMath/btAlignedObjectArray.h"
Go to the source code of this file.
Classes | |
class | btNodeOverlapCallback |
Macros | |
#define | btQuantizedBvhData btQuantizedBvhFloatData |
#define | btOptimizedBvhNodeData btOptimizedBvhNodeFloatData |
#define | btQuantizedBvhDataName "btQuantizedBvhFloatData" |
#define | MAX_SUBTREE_SIZE_IN_BYTES 2048 |
#define | MAX_NUM_PARTS_IN_BITS 10 |
Typedefs | |
typedef btAlignedObjectArray< btOptimizedBvhNode > | NodeArray |
for code readability: More... | |
typedef btAlignedObjectArray< btQuantizedBvhNode > | QuantizedNodeArray |
typedef btAlignedObjectArray< btBvhSubtreeInfo > | BvhSubtreeInfoArray |
Functions | |
bool | isLeafNode () const |
int | getEscapeIndex () const |
int | getTriangleIndex () const |
int | getPartId () const |
void | setAabbFromQuantizeNode (const btQuantizedBvhNode &quantizedNode) |
void | setInternalNodeAabbMin (int nodeIndex, const btVector3 &aabbMin) |
void | setInternalNodeAabbMax (int nodeIndex, const btVector3 &aabbMax) |
btVector3 | getAabbMin (int nodeIndex) const |
btVector3 | getAabbMax (int nodeIndex) const |
void | setInternalNodeEscapeIndex (int nodeIndex, int escapeIndex) |
void | mergeInternalNodeAabb (int nodeIndex, const btVector3 &newAabbMin, const btVector3 &newAabbMax) |
void | swapLeafNodes (int firstIndex, int secondIndex) |
void | assignInternalNodeFromLeafNode (int internalNode, int leafNodeIndex) |
void | buildTree (int startIndex, int endIndex) |
int | calcSplittingAxis (int startIndex, int endIndex) |
int | sortAndCalcSplittingIndex (int startIndex, int endIndex, int splitAxis) |
void | walkStacklessTree (btNodeOverlapCallback *nodeCallback, const btVector3 &aabbMin, const btVector3 &aabbMax) const |
void | walkStacklessQuantizedTreeAgainstRay (btNodeOverlapCallback *nodeCallback, const btVector3 &raySource, const btVector3 &rayTarget, const btVector3 &aabbMin, const btVector3 &aabbMax, int startNodeIndex, int endNodeIndex) const |
void | walkStacklessQuantizedTree (btNodeOverlapCallback *nodeCallback, unsigned short int *quantizedQueryAabbMin, unsigned short int *quantizedQueryAabbMax, int startNodeIndex, int endNodeIndex) const |
void | walkStacklessTreeAgainstRay (btNodeOverlapCallback *nodeCallback, const btVector3 &raySource, const btVector3 &rayTarget, const btVector3 &aabbMin, const btVector3 &aabbMax, int startNodeIndex, int endNodeIndex) const |
void | walkStacklessQuantizedTreeCacheFriendly (btNodeOverlapCallback *nodeCallback, unsigned short int *quantizedQueryAabbMin, unsigned short int *quantizedQueryAabbMax) const |
tree traversal designed for small-memory processors like PS3 SPU More... | |
void | walkRecursiveQuantizedTreeAgainstQueryAabb (const btQuantizedBvhNode *currentNode, btNodeOverlapCallback *nodeCallback, unsigned short int *quantizedQueryAabbMin, unsigned short int *quantizedQueryAabbMax) const |
use the 16-byte stackless 'skipindex' node tree to do a recursive traversal More... | |
void | walkRecursiveQuantizedTreeAgainstQuantizedTree (const btQuantizedBvhNode *treeNodeA, const btQuantizedBvhNode *treeNodeB, btNodeOverlapCallback *nodeCallback) const |
use the 16-byte stackless 'skipindex' node tree to do a recursive traversal More... | |
void | updateSubtreeHeaders (int leftChildNodexIndex, int rightChildNodexIndex) |
BT_DECLARE_ALIGNED_ALLOCATOR () | |
virtual | ~btQuantizedBvh () |
void | setQuantizationValues (const btVector3 &bvhAabbMin, const btVector3 &bvhAabbMax, btScalar quantizationMargin=btScalar(1.0)) |
***************************************** expert/internal use only ************************* More... | |
QuantizedNodeArray & | getLeafNodeArray () |
void | buildInternal () |
buildInternal is expert use only: assumes that setQuantizationValues and LeafNodeArray are initialized More... | |
void | reportAabbOverlappingNodex (btNodeOverlapCallback *nodeCallback, const btVector3 &aabbMin, const btVector3 &aabbMax) const |
***************************************** expert/internal use only ************************* More... | |
void | reportRayOverlappingNodex (btNodeOverlapCallback *nodeCallback, const btVector3 &raySource, const btVector3 &rayTarget) const |
void | reportBoxCastOverlappingNodex (btNodeOverlapCallback *nodeCallback, const btVector3 &raySource, const btVector3 &rayTarget, const btVector3 &aabbMin, const btVector3 &aabbMax) const |
SIMD_FORCE_INLINE void | quantize (unsigned short *out, const btVector3 &point, int isMax) const |
SIMD_FORCE_INLINE void | quantizeWithClamp (unsigned short *out, const btVector3 &point2, int isMax) const |
SIMD_FORCE_INLINE btVector3 | unQuantize (const unsigned short *vecIn) const |
void | setTraversalMode (btTraversalMode traversalMode) |
setTraversalMode let's you choose between stackless, recursive or stackless cache friendly tree traversal. Note this is only implemented for quantized trees. More... | |
SIMD_FORCE_INLINE QuantizedNodeArray & | getQuantizedNodeArray () |
SIMD_FORCE_INLINE BvhSubtreeInfoArray & | getSubtreeInfoArray () |
unsigned | calculateSerializeBufferSize () const |
virtual bool | serialize (void *o_alignedDataBuffer, unsigned i_dataBufferSize, bool i_swapEndian) const |
Data buffer MUST be 16 byte aligned. More... | |
static btQuantizedBvh * | deSerializeInPlace (void *i_alignedDataBuffer, unsigned int i_dataBufferSize, bool i_swapEndian) |
deSerializeInPlace loads and initializes a BVH from a buffer in memory 'in place' More... | |
static unsigned int | getAlignmentSerializationPadding () |
virtual int | calculateSerializeBufferSizeNew () const |
virtual const char * | serialize (void *dataBuffer, btSerializer *serializer) const |
fills the dataBuffer and returns the struct name (and 0 on failure) More... | |
virtual void | deSerializeFloat (struct btQuantizedBvhFloatData &quantizedBvhFloatData) |
virtual void | deSerializeDouble (struct btQuantizedBvhDoubleData &quantizedBvhDoubleData) |
SIMD_FORCE_INLINE bool | isQuantized () |
Variables | |
btQuantizedBvhNode | |
unsigned short int | m_quantizedAabbMin [3] |
unsigned short int | m_quantizedAabbMax [3] |
int | m_escapeIndexOrTriangleIndex |
btOptimizedBvhNode | |
btVector3 | m_aabbMinOrg |
btVector3 | m_aabbMaxOrg |
int | m_escapeIndex |
int | m_subPart |
int | m_triangleIndex |
char | m_padding [20] |
btBvhSubtreeInfo | |
btBvhSubtreeInfo provides info to gather a subtree of limited size More... | |
int | m_rootNodeIndex |
int | m_subtreeSize |
btQuantizedBvh | |
btVector3 | m_bvhAabbMin |
btVector3 | m_bvhAabbMax |
btVector3 | m_bvhQuantization |
int | m_bulletVersion |
int | m_curNodeIndex |
bool | m_useQuantization |
NodeArray | m_leafNodes |
NodeArray | m_contiguousNodes |
QuantizedNodeArray | m_quantizedLeafNodes |
QuantizedNodeArray | m_quantizedContiguousNodes |
btTraversalMode | m_traversalMode |
BvhSubtreeInfoArray | m_SubtreeHeaders |
int | m_subtreeHeaderCount |
#define btOptimizedBvhNodeData btOptimizedBvhNodeFloatData |
Definition at line 40 of file btQuantizedBvh.h.
#define btQuantizedBvhData btQuantizedBvhFloatData |
Definition at line 39 of file btQuantizedBvh.h.
#define btQuantizedBvhDataName "btQuantizedBvhFloatData" |
Definition at line 41 of file btQuantizedBvh.h.
#define MAX_NUM_PARTS_IN_BITS 10 |
Definition at line 51 of file btQuantizedBvh.h.
#define MAX_SUBTREE_SIZE_IN_BYTES 2048 |
Definition at line 47 of file btQuantizedBvh.h.
Definition at line 161 of file btQuantizedBvh.h.
for code readability:
Definition at line 159 of file btQuantizedBvh.h.
Definition at line 160 of file btQuantizedBvh.h.
|
protected |
Definition at line 784 of file btQuantizedBvh.cpp.
References m_contiguousNodes, m_leafNodes, m_quantizedContiguousNodes, m_quantizedLeafNodes, and m_useQuantization.
BT_DECLARE_ALIGNED_ALLOCATOR | ( | ) |
void btQuantizedBvh::buildInternal | ( | ) |
buildInternal is expert use only: assumes that setQuantizationValues and LeafNodeArray are initialized
assumes that caller filled in the m_quantizedLeafNodes
if the entire tree is small then subtree size, we need to create a header info for the tree
Definition at line 36 of file btQuantizedBvh.cpp.
References btBvhSubtreeInfo, buildTree(), btAlignedObjectArray< T >::clear(), btAlignedObjectArray< T >::expand(), m_curNodeIndex, m_leafNodes, m_quantizedContiguousNodes, m_quantizedLeafNodes, m_subtreeHeaderCount, m_SubtreeHeaders, m_useQuantization, btAlignedObjectArray< T >::resize(), and btAlignedObjectArray< T >::size().
|
protected |
Referenced by buildInternal().
|
protected |
Definition at line 285 of file btQuantizedBvh.cpp.
References btVector3, center, getAabbMax(), getAabbMin(), and numIndices().
unsigned calculateSerializeBufferSize | ( | ) | const |
Referenced by serializeSingleShape().
|
virtual |
Definition at line 538 of file btQuantizedBvh.h.
References btQuantizedBvhData.
|
virtual |
|
virtual |
|
static |
deSerializeInPlace loads and initializes a BVH from a buffer in memory 'in place'
|
protected |
Definition at line 233 of file btQuantizedBvh.h.
References m_leafNodes, m_quantizedAabbMax, m_quantizedLeafNodes, m_useQuantization, and unQuantize().
Referenced by calcSplittingAxis(), and sortAndCalcSplittingIndex().
|
protected |
Definition at line 224 of file btQuantizedBvh.h.
References m_leafNodes, m_quantizedAabbMin, m_quantizedLeafNodes, m_useQuantization, and unQuantize().
Referenced by calcSplittingAxis(), and sortAndCalcSplittingIndex().
|
static |
Definition at line 807 of file btQuantizedBvh.cpp.
int getEscapeIndex | ( | ) | const |
Definition at line 71 of file btQuantizedBvh.h.
References btAssert, isLeafNode(), and m_escapeIndexOrTriangleIndex.
QuantizedNodeArray& getLeafNodeArray | ( | ) |
Definition at line 317 of file btQuantizedBvh.h.
References m_quantizedLeafNodes.
int getPartId | ( | ) | const |
Definition at line 84 of file btQuantizedBvh.h.
References btAssert, isLeafNode(), m_escapeIndexOrTriangleIndex, and MAX_NUM_PARTS_IN_BITS.
SIMD_FORCE_INLINE QuantizedNodeArray& getQuantizedNodeArray | ( | ) |
Definition at line 418 of file btQuantizedBvh.h.
References m_quantizedContiguousNodes.
SIMD_FORCE_INLINE BvhSubtreeInfoArray& getSubtreeInfoArray | ( | ) |
Definition at line 423 of file btQuantizedBvh.h.
References m_SubtreeHeaders.
int getTriangleIndex | ( | ) | const |
Definition at line 76 of file btQuantizedBvh.h.
References btAssert, isLeafNode(), m_escapeIndexOrTriangleIndex, MAX_NUM_PARTS_IN_BITS, x, and y.
bool isLeafNode | ( | ) | const |
Definition at line 66 of file btQuantizedBvh.h.
References m_escapeIndexOrTriangleIndex.
Referenced by getEscapeIndex(), getPartId(), getTriangleIndex(), walkRecursiveQuantizedTreeAgainstQueryAabb(), walkStacklessQuantizedTree(), walkStacklessQuantizedTreeAgainstRay(), walkStacklessTree(), and walkStacklessTreeAgainstRay().
SIMD_FORCE_INLINE bool isQuantized | ( | ) |
Definition at line 453 of file btQuantizedBvh.h.
References m_useQuantization.
|
protected |
Definition at line 255 of file btQuantizedBvh.h.
References m_contiguousNodes, m_quantizedAabbMax, m_quantizedAabbMin, m_quantizedContiguousNodes, m_useQuantization, and quantize().
SIMD_FORCE_INLINE void quantize | ( | unsigned short * | out, |
const btVector3 & | point, | ||
int | isMax | ||
) | const |
Make sure rounding is done in a way that unQuantize(quantizeWithClamp(...)) is conservative end-points always set the first bit, so that they are sorted properly (so that neighbouring AABBs overlap properly)
Definition at line 326 of file btQuantizedBvh.h.
References btAssert, btVector3, m_bvhAabbMax, m_bvhAabbMin, m_bvhQuantization, m_useQuantization, usdtokens::out(), point, unQuantize(), and v.
Referenced by btAxisSweep3Internal< BP_FP_INT_TYPE >::addHandle(), mergeInternalNodeAabb(), quantizeWithClamp(), refitPartial(), setInternalNodeAabbMax(), setInternalNodeAabbMin(), setQuantizationValues(), updateBvhNodes(), and btAxisSweep3Internal< BP_FP_INT_TYPE >::updateHandle().
SIMD_FORCE_INLINE void quantizeWithClamp | ( | unsigned short * | out, |
const btVector3 & | point2, | ||
int | isMax | ||
) | const |
Definition at line 390 of file btQuantizedBvh.h.
References btAssert, btVector3, m_bvhAabbMax, m_bvhAabbMin, m_useQuantization, usdtokens::out(), and quantize().
Referenced by reportAabbOverlappingNodex(), and walkStacklessQuantizedTreeAgainstRay().
void btQuantizedBvh::reportAabbOverlappingNodex | ( | btNodeOverlapCallback * | nodeCallback, |
const btVector3 & | aabbMin, | ||
const btVector3 & | aabbMax | ||
) | const |
***************************************** expert/internal use only *************************
quantize query AABB
Definition at line 312 of file btQuantizedBvh.cpp.
References btAssert, btQuantizedBvhNode, m_curNodeIndex, m_quantizedContiguousNodes, m_traversalMode, m_useQuantization, quantizeWithClamp(), walkRecursiveQuantizedTreeAgainstQueryAabb(), walkStacklessQuantizedTree(), walkStacklessQuantizedTreeCacheFriendly(), and walkStacklessTree().
void btQuantizedBvh::reportBoxCastOverlappingNodex | ( | btNodeOverlapCallback * | nodeCallback, |
const btVector3 & | raySource, | ||
const btVector3 & | rayTarget, | ||
const btVector3 & | aabbMin, | ||
const btVector3 & | aabbMax | ||
) | const |
Definition at line 742 of file btQuantizedBvh.cpp.
References m_curNodeIndex, m_useQuantization, walkStacklessQuantizedTreeAgainstRay(), and walkStacklessTreeAgainstRay().
Referenced by reportRayOverlappingNodex().
void btQuantizedBvh::reportRayOverlappingNodex | ( | btNodeOverlapCallback * | nodeCallback, |
const btVector3 & | raySource, | ||
const btVector3 & | rayTarget | ||
) | const |
Definition at line 737 of file btQuantizedBvh.cpp.
References btVector3, and reportBoxCastOverlappingNodex().
|
virtual |
fills the dataBuffer and returns the struct name (and 0 on failure)
|
virtual |
Data buffer MUST be 16 byte aligned.
Referenced by btGImpactMeshShape::serialize(), btGearConstraint::serialize(), btRigidBody::serialize(), btMultiBodyLinkCollider::serialize(), btSoftBody::serialize(), serializeInPlace(), and serializeSingleShape().
void setAabbFromQuantizeNode | ( | const btQuantizedBvhNode & | quantizedNode | ) |
Definition at line 136 of file btQuantizedBvh.h.
References m_quantizedAabbMax, and m_quantizedAabbMin.
Definition at line 212 of file btQuantizedBvh.h.
References m_contiguousNodes, m_quantizedAabbMax, m_quantizedContiguousNodes, m_useQuantization, and quantize().
two versions, one for quantized and normal nodes. This allows code-reuse while maintaining readability (no template/macro!) this might be refactored into a virtual, it is usually not calculated at run-time
Definition at line 201 of file btQuantizedBvh.h.
References m_contiguousNodes, m_quantizedAabbMin, m_quantizedContiguousNodes, m_useQuantization, and quantize().
|
protected |
Definition at line 243 of file btQuantizedBvh.h.
References m_contiguousNodes, m_quantizedContiguousNodes, and m_useQuantization.
void btQuantizedBvh::setQuantizationValues | ( | const btVector3 & | bvhAabbMin, |
const btVector3 & | bvhAabbMax, | ||
btScalar | quantizationMargin = btScalar(1.0) |
||
) |
***************************************** expert/internal use only *************************
just for debugging, to visualize the individual patches/subtrees
Definition at line 81 of file btQuantizedBvh.cpp.
References btVector3, m_bvhAabbMax, m_bvhAabbMin, m_bvhQuantization, m_useQuantization, quantize(), unQuantize(), and v.
void setTraversalMode | ( | btTraversalMode | traversalMode | ) |
setTraversalMode let's you choose between stackless, recursive or stackless cache friendly tree traversal. Note this is only implemented for quantized trees.
Definition at line 413 of file btQuantizedBvh.h.
References m_traversalMode.
|
protected |
Definition at line 232 of file btQuantizedBvh.cpp.
References btAssert, btVector3, center, getAabbMax(), getAabbMin(), numIndices(), swapLeafNodes(), and void.
|
protected |
Definition at line 768 of file btQuantizedBvh.cpp.
References btOptimizedBvhNode, btQuantizedBvhNode, m_leafNodes, m_quantizedLeafNodes, and m_useQuantization.
Referenced by sortAndCalcSplittingIndex().
SIMD_FORCE_INLINE btVector3 unQuantize | ( | const unsigned short * | vecIn | ) | const |
Definition at line 401 of file btQuantizedBvh.h.
References btVector3, m_bvhAabbMin, and m_bvhQuantization.
Referenced by getAabbMax(), getAabbMin(), quantize(), setQuantizationValues(), walkStacklessQuantizedTree(), and walkStacklessQuantizedTreeAgainstRay().
|
protected |
Definition at line 200 of file btQuantizedBvh.cpp.
References btAssert, btBvhSubtreeInfo, btQuantizedBvhNode, btAlignedObjectArray< T >::expand(), m_quantizedContiguousNodes, m_subtreeHeaderCount, m_SubtreeHeaders, m_useQuantization, MAX_SUBTREE_SIZE_IN_BYTES, and btAlignedObjectArray< T >::size().
|
protected |
use the 16-byte stackless 'skipindex' node tree to do a recursive traversal
|
protected |
use the 16-byte stackless 'skipindex' node tree to do a recursive traversal
Definition at line 411 of file btQuantizedBvh.cpp.
References btAssert, btQuantizedBvhNode, isLeafNode(), m_useQuantization, btNodeOverlapCallback::processNode(), and testQuantizedAabbAgainstQuantizedAabb().
Referenced by reportAabbOverlappingNodex().
|
protected |
Definition at line 653 of file btQuantizedBvh.cpp.
References btAssert, btQuantizedBvhNode, btVector3, color, btIDebugDraw::drawAabb(), isLeafNode(), m_quantizedContiguousNodes, m_useQuantization, btNodeOverlapCallback::processNode(), testQuantizedAabbAgainstQuantizedAabb(), unQuantize(), and void.
Referenced by reportAabbOverlappingNodex(), and walkStacklessQuantizedTreeCacheFriendly().
|
protected |
what about division by zero? --> just set rayDirection[i] to 1.0
careful with this check: need to check division by zero (above) and fix the unQuantize method thanks Joerg/hiker for the reproduction case! http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1858
Definition at line 530 of file btQuantizedBvh.cpp.
References bounds(), BT_LARGE_FLOAT, btAssert, btQuantizedBvhNode, btRayAabb(), btRayAabb2(), btVector3, color, btIDebugDraw::drawAabb(), isLeafNode(), m_quantizedContiguousNodes, m_useQuantization, normal, btNodeOverlapCallback::processNode(), quantizeWithClamp(), KDL::sign(), testQuantizedAabbAgainstQuantizedAabb(), unQuantize(), and void.
Referenced by reportBoxCastOverlappingNodex().
|
protected |
tree traversal designed for small-memory processors like PS3 SPU
Definition at line 716 of file btQuantizedBvh.cpp.
References btAssert, btBvhSubtreeInfo, m_SubtreeHeaders, m_useQuantization, btAlignedObjectArray< T >::size(), testQuantizedAabbAgainstQuantizedAabb(), and walkStacklessQuantizedTree().
Referenced by reportAabbOverlappingNodex().
|
protected |
Definition at line 349 of file btQuantizedBvh.cpp.
References btAssert, btOptimizedBvhNode, isLeafNode(), m_contiguousNodes, m_curNodeIndex, m_useQuantization, btNodeOverlapCallback::processNode(), and TestAabbAgainstAabb2().
Referenced by reportAabbOverlappingNodex().
|
protected |
what about division by zero? --> just set rayDirection[i] to 1.0
careful with this check: need to check division by zero (above) and fix the unQuantize method thanks Joerg/hiker for the reproduction case! http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1858
Definition at line 442 of file btQuantizedBvh.cpp.
References bounds(), BT_LARGE_FLOAT, btAssert, btOptimizedBvhNode, btRayAabb(), btRayAabb2(), btVector3, isLeafNode(), m_contiguousNodes, m_curNodeIndex, m_useQuantization, normal, btNodeOverlapCallback::processNode(), KDL::sign(), and TestAabbAgainstAabb2().
Referenced by reportBoxCastOverlappingNodex().
|
virtual |
Definition at line 112 of file btQuantizedBvh.cpp.
btBvhSubtreeInfo |
btBvhSubtreeInfo provides info to gather a subtree of limited size
Definition at line 117 of file btQuantizedBvh.h.
Referenced by buildInternal(), refitPartial(), updateSubtreeHeaders(), and walkStacklessQuantizedTreeCacheFriendly().
btOptimizedBvhNode |
btOptimizedBvhNode contains both internal and leaf node information. Total node size is 44 bytes / node. You can use the compressed version of 16 bytes.
Definition at line 95 of file btQuantizedBvh.h.
Referenced by swapLeafNodes(), walkStacklessTree(), and walkStacklessTreeAgainstRay().
btQuantizedBvh |
The btQuantizedBvh class stores an AABB tree that can be quickly traversed on CPU and Cell SPU. It is used by the btBvhTriangleMeshShape as midphase. It is recommended to use quantization for better performance and lower memory requirements.
Definition at line 167 of file btQuantizedBvh.h.
btQuantizedBvhNode |
btQuantizedBvhNode is a compressed aabb node, 16 bytes. Node can be used for leafnode or internal node. Leafnodes can point to 32-bit triangle index (non-negative range).
Definition at line 56 of file btQuantizedBvh.h.
Referenced by reportAabbOverlappingNodex(), swapLeafNodes(), updateBvhNodes(), updateSubtreeHeaders(), walkRecursiveQuantizedTreeAgainstQueryAabb(), walkStacklessQuantizedTree(), and walkStacklessQuantizedTreeAgainstRay().
btVector3 m_aabbMaxOrg |
Definition at line 101 of file btQuantizedBvh.h.
btVector3 m_aabbMinOrg |
Definition at line 100 of file btQuantizedBvh.h.
|
protected |
Definition at line 182 of file btQuantizedBvh.h.
|
protected |
Definition at line 179 of file btQuantizedBvh.h.
Referenced by quantize(), quantizeWithClamp(), refitPartial(), and setQuantizationValues().
|
protected |
Definition at line 178 of file btQuantizedBvh.h.
Referenced by quantize(), quantizeWithClamp(), refitPartial(), setQuantizationValues(), and unQuantize().
|
protected |
Definition at line 180 of file btQuantizedBvh.h.
Referenced by quantize(), setQuantizationValues(), and unQuantize().
|
protected |
Definition at line 189 of file btQuantizedBvh.h.
Referenced by assignInternalNodeFromLeafNode(), mergeInternalNodeAabb(), setInternalNodeAabbMax(), setInternalNodeAabbMin(), setInternalNodeEscapeIndex(), walkStacklessTree(), and walkStacklessTreeAgainstRay().
|
protected |
Definition at line 184 of file btQuantizedBvh.h.
Referenced by buildInternal(), reportAabbOverlappingNodex(), reportBoxCastOverlappingNodex(), walkStacklessTree(), and walkStacklessTreeAgainstRay().
int m_escapeIndex |
Definition at line 104 of file btQuantizedBvh.h.
int m_escapeIndexOrTriangleIndex |
Definition at line 64 of file btQuantizedBvh.h.
Referenced by getEscapeIndex(), getPartId(), getTriangleIndex(), and isLeafNode().
|
protected |
Definition at line 188 of file btQuantizedBvh.h.
Referenced by assignInternalNodeFromLeafNode(), buildInternal(), getAabbMax(), getAabbMin(), and swapLeafNodes().
int m_padding |
Definition at line 112 of file btQuantizedBvh.h.
Referenced by btSphereShape().
unsigned short int m_quantizedAabbMax |
Definition at line 62 of file btQuantizedBvh.h.
Referenced by getAabbMax(), btQuantizedBvhTree::getNodeBound(), mergeInternalNodeAabb(), setAabbFromQuantizeNode(), setInternalNodeAabbMax(), and btQuantizedBvhTree::setNodeBound().
unsigned short int m_quantizedAabbMin |
Definition at line 61 of file btQuantizedBvh.h.
Referenced by getAabbMin(), btQuantizedBvhTree::getNodeBound(), mergeInternalNodeAabb(), setAabbFromQuantizeNode(), setInternalNodeAabbMin(), btQuantizedBvhTree::setNodeBound(), and testQuantizedBoxOverlapp().
|
protected |
Definition at line 191 of file btQuantizedBvh.h.
Referenced by assignInternalNodeFromLeafNode(), buildInternal(), getQuantizedNodeArray(), mergeInternalNodeAabb(), refitPartial(), reportAabbOverlappingNodex(), setInternalNodeAabbMax(), setInternalNodeAabbMin(), setInternalNodeEscapeIndex(), updateBvhNodes(), updateSubtreeHeaders(), walkStacklessQuantizedTree(), and walkStacklessQuantizedTreeAgainstRay().
|
protected |
Definition at line 190 of file btQuantizedBvh.h.
Referenced by assignInternalNodeFromLeafNode(), buildInternal(), getAabbMax(), getAabbMin(), getLeafNodeArray(), and swapLeafNodes().
int m_rootNodeIndex |
Definition at line 126 of file btQuantizedBvh.h.
int m_subPart |
Definition at line 108 of file btQuantizedBvh.h.
|
mutableprotected |
Definition at line 197 of file btQuantizedBvh.h.
Referenced by buildInternal(), and updateSubtreeHeaders().
|
protected |
Definition at line 194 of file btQuantizedBvh.h.
Referenced by buildInternal(), getSubtreeInfoArray(), refitPartial(), updateSubtreeHeaders(), and walkStacklessQuantizedTreeCacheFriendly().
int m_subtreeSize |
Definition at line 128 of file btQuantizedBvh.h.
|
protected |
Definition at line 193 of file btQuantizedBvh.h.
Referenced by reportAabbOverlappingNodex(), and setTraversalMode().
int m_triangleIndex |
Definition at line 109 of file btQuantizedBvh.h.
|
protected |
Definition at line 186 of file btQuantizedBvh.h.
Referenced by assignInternalNodeFromLeafNode(), buildInternal(), getAabbMax(), getAabbMin(), isQuantized(), mergeInternalNodeAabb(), quantize(), quantizeWithClamp(), refitPartial(), reportAabbOverlappingNodex(), reportBoxCastOverlappingNodex(), setInternalNodeAabbMax(), setInternalNodeAabbMin(), setInternalNodeEscapeIndex(), setQuantizationValues(), swapLeafNodes(), updateBvhNodes(), updateSubtreeHeaders(), walkRecursiveQuantizedTreeAgainstQueryAabb(), walkStacklessQuantizedTree(), walkStacklessQuantizedTreeAgainstRay(), walkStacklessQuantizedTreeCacheFriendly(), walkStacklessTree(), and walkStacklessTreeAgainstRay().