Changeset View
Changeset View
Standalone View
Standalone View
extern/bullet2/src/BulletCollision/CollisionShapes/btOptimizedBvh.h
| Show All 16 Lines | |||||
| #ifndef BT_OPTIMIZED_BVH_H | #ifndef BT_OPTIMIZED_BVH_H | ||||
| #define BT_OPTIMIZED_BVH_H | #define BT_OPTIMIZED_BVH_H | ||||
| #include "BulletCollision/BroadphaseCollision/btQuantizedBvh.h" | #include "BulletCollision/BroadphaseCollision/btQuantizedBvh.h" | ||||
| class btStridingMeshInterface; | class btStridingMeshInterface; | ||||
| ///The btOptimizedBvh extends the btQuantizedBvh to create AABB tree for triangle meshes, through the btStridingMeshInterface. | ///The btOptimizedBvh extends the btQuantizedBvh to create AABB tree for triangle meshes, through the btStridingMeshInterface. | ||||
| ATTRIBUTE_ALIGNED16(class) btOptimizedBvh : public btQuantizedBvh | ATTRIBUTE_ALIGNED16(class) | ||||
| btOptimizedBvh : public btQuantizedBvh | |||||
| { | { | ||||
| public: | public: | ||||
| BT_DECLARE_ALIGNED_ALLOCATOR(); | BT_DECLARE_ALIGNED_ALLOCATOR(); | ||||
| protected: | protected: | ||||
| public: | public: | ||||
| btOptimizedBvh(); | btOptimizedBvh(); | ||||
| virtual ~btOptimizedBvh(); | virtual ~btOptimizedBvh(); | ||||
| void build(btStridingMeshInterface* triangles,bool useQuantizedAabbCompression, const btVector3& bvhAabbMin, const btVector3& bvhAabbMax); | void build(btStridingMeshInterface * triangles, bool useQuantizedAabbCompression, const btVector3& bvhAabbMin, const btVector3& bvhAabbMax); | ||||
| void refit(btStridingMeshInterface* triangles,const btVector3& aabbMin,const btVector3& aabbMax); | void refit(btStridingMeshInterface * triangles, const btVector3& aabbMin, const btVector3& aabbMax); | ||||
| void refitPartial(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); | void updateBvhNodes(btStridingMeshInterface * meshInterface, int firstNode, int endNode, int index); | ||||
| /// Data buffer MUST be 16 byte aligned | /// Data buffer MUST be 16 byte aligned | ||||
| virtual bool serializeInPlace(void *o_alignedDataBuffer, unsigned i_dataBufferSize, bool i_swapEndian) const | virtual bool serializeInPlace(void* o_alignedDataBuffer, unsigned i_dataBufferSize, bool i_swapEndian) const | ||||
| { | { | ||||
| return btQuantizedBvh::serialize(o_alignedDataBuffer,i_dataBufferSize,i_swapEndian); | return btQuantizedBvh::serialize(o_alignedDataBuffer, i_dataBufferSize, i_swapEndian); | ||||
| } | } | ||||
| ///deSerializeInPlace loads and initializes a BVH from a buffer in memory 'in place' | ///deSerializeInPlace loads and initializes a BVH from a buffer in memory 'in place' | ||||
| static btOptimizedBvh *deSerializeInPlace(void *i_alignedDataBuffer, unsigned int i_dataBufferSize, bool i_swapEndian); | static btOptimizedBvh* deSerializeInPlace(void* i_alignedDataBuffer, unsigned int i_dataBufferSize, bool i_swapEndian); | ||||
| }; | }; | ||||
| #endif //BT_OPTIMIZED_BVH_H | #endif //BT_OPTIMIZED_BVH_H | ||||