|
| | BT_DECLARE_ALIGNED_ALLOCATOR () |
| |
| | btOptimizedBvh () |
| |
| virtual | ~btOptimizedBvh () |
| |
| void | build (btStridingMeshInterface *triangles, bool useQuantizedAabbCompression, const btVector3 &bvhAabbMin, const btVector3 &bvhAabbMax) |
| |
| void | refit (btStridingMeshInterface *triangles, const btVector3 &aabbMin, const btVector3 &aabbMax) |
| |
| void | refitPartial (btStridingMeshInterface *triangles, const btVector3 &aabbMin, const btVector3 &aabbMax) |
| |
| void | updateBvhNodes (btStridingMeshInterface *meshInterface, int firstNode, int endNode, int index) |
| |
| virtual bool | serializeInPlace (void *o_alignedDataBuffer, unsigned i_dataBufferSize, bool i_swapEndian) const |
| | Data buffer MUST be 16 byte aligned.
|
| |
| | BT_DECLARE_ALIGNED_ALLOCATOR () |
| |
| | btQuantizedBvh () |
| |
| virtual | ~btQuantizedBvh () |
| |
| void | setQuantizationValues (const btVector3 &bvhAabbMin, const btVector3 &bvhAabbMax, btScalar quantizationMargin=btScalar(1.0)) |
| | ***************************************** expert/internal use only *************************
|
| |
| QuantizedNodeArray & | getLeafNodeArray () |
| |
| void | buildInternal () |
| | buildInternal is expert use only: assumes that setQuantizationValues and LeafNodeArray are initialized
|
| |
| void | reportAabbOverlappingNodex (btNodeOverlapCallback *nodeCallback, const btVector3 &aabbMin, const btVector3 &aabbMax) const |
| | ***************************************** expert/internal use only *************************
|
| |
| 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 |
| |
| void | quantize (unsigned short *out, const btVector3 &point, int isMax) const |
| |
| void | quantizeWithClamp (unsigned short *out, const btVector3 &point2, int isMax) const |
| |
| 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.
|
| |
| QuantizedNodeArray & | getQuantizedNodeArray () |
| |
| 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.
|
| |
| 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)
|
| |
| virtual void | deSerializeFloat (struct btQuantizedBvhFloatData &quantizedBvhFloatData) |
| |
| virtual void | deSerializeDouble (struct btQuantizedBvhDoubleData &quantizedBvhDoubleData) |
| |
| bool | isQuantized () |
| |
|
| enum | btTraversalMode {
TRAVERSAL_STACKLESS = 0
,
TRAVERSAL_STACKLESS_CACHE_FRIENDLY
,
TRAVERSAL_RECURSIVE
} |
| |
| void | setInternalNodeAabbMin (int nodeIndex, const btVector3 &aabbMin) |
| | two versions, one for quantized and normal nodes.
|
| |
| 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
|
| |
| 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
|
| |
| void | walkRecursiveQuantizedTreeAgainstQuantizedTree (const btQuantizedBvhNode *treeNodeA, const btQuantizedBvhNode *treeNodeB, btNodeOverlapCallback *nodeCallback) const |
| | use the 16-byte stackless 'skipindex' node tree to do a recursive traversal
|
| |
| void | updateSubtreeHeaders (int leftChildNodexIndex, int rightChildNodexIndex) |
| |
| 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 |
| |
The btOptimizedBvh extends the btQuantizedBvh to create AABB tree for triangle meshes, through the btStridingMeshInterface.
Definition at line 26 of file btOptimizedBvh.h.