Blender V4.3
btOptimizedBvh.h File Reference

Go to the source code of this file.

Functions

 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.
 
static btOptimizedBvhdeSerializeInPlace (void *i_alignedDataBuffer, unsigned int i_dataBufferSize, bool i_swapEndian)
 deSerializeInPlace loads and initializes a BVH from a buffer in memory 'in place'
 

Variables

btOptimizedBvh __pad0__
 The btOptimizedBvh extends the btQuantizedBvh to create AABB tree for triangle meshes, through the btStridingMeshInterface.
 

Function Documentation

◆ btOptimizedBvh()

◆ build()

void build ( btStridingMeshInterface * triangles,
bool useQuantizedAabbCompression,
const btVector3 & bvhAabbMin,
const btVector3 & bvhAabbMax )

◆ deSerializeInPlace()

static btOptimizedBvh * deSerializeInPlace ( void * i_alignedDataBuffer,
unsigned int i_dataBufferSize,
bool i_swapEndian )
static

deSerializeInPlace loads and initializes a BVH from a buffer in memory 'in place'

◆ refit()

void refit ( btStridingMeshInterface * triangles,
const btVector3 & aabbMin,
const btVector3 & aabbMax )

◆ refitPartial()

void btOptimizedBvh::refitPartial ( btStridingMeshInterface * triangles,
const btVector3 & aabbMin,
const btVector3 & aabbMax )

we should update all quantization values, using updateBvhNodes(meshInterface); but we only update chunks that overlap the given aabb

Definition at line 213 of file btOptimizedBvh.cpp.

References btAssert, btBvhSubtreeInfo, m_bvhAabbMax, m_bvhAabbMin, m_quantizedContiguousNodes, m_SubtreeHeaders, m_useQuantization, quantize(), btAlignedObjectArray< T >::size(), testQuantizedAabbAgainstQuantizedAabb(), and updateBvhNodes().

◆ serializeInPlace()

virtual bool serializeInPlace ( void * o_alignedDataBuffer,
unsigned i_dataBufferSize,
bool i_swapEndian ) const
virtual

Data buffer MUST be 16 byte aligned.

Definition at line 47 of file btOptimizedBvh.h.

◆ updateBvhNodes()

void btOptimizedBvh::updateBvhNodes ( btStridingMeshInterface * meshInterface,
int firstNode,
int endNode,
int index )

◆ ~btOptimizedBvh()

btOptimizedBvh::~btOptimizedBvh ( )
virtual

Definition at line 25 of file btOptimizedBvh.cpp.

Variable Documentation

◆ __pad0__

btOptimizedBvh __pad0__

The btOptimizedBvh extends the btQuantizedBvh to create AABB tree for triangle meshes, through the btStridingMeshInterface.

Definition at line 27 of file btOptimizedBvh.h.