Add aabbMin/aabbMax to broadphase proxy, and improve rayTest performance.

Todo: use broadphase acceleration structure (btDbvtBroadphase etc) for ray test
This commit is contained in:
erwin.coumans
2008-10-10 17:32:52 +00:00
parent a42b7d93f1
commit 9ad17dda22
13 changed files with 137 additions and 44 deletions

View File

@@ -17,6 +17,7 @@ subject to the following restrictions:
#define BROADPHASE_PROXY_H
#include "LinearMath/btScalar.h" //for SIMD_FORCE_INLINE
#include "LinearMath/btVector3.h"
#include "LinearMath/btAlignedAllocator.h"
@@ -90,6 +91,9 @@ BT_DECLARE_ALIGNED_ALLOCATOR();
AllFilter = -1 //all bits sets: DefaultFilter | StaticFilter | KinematicFilter | DebrisFilter | SensorTrigger
};
btVector3 m_aabbMin;
btVector3 m_aabbMax;
//Usually the client btCollisionObject or Rigidbody class
void* m_clientObject;
@@ -111,8 +115,10 @@ BT_DECLARE_ALIGNED_ALLOCATOR();
{
}
btBroadphaseProxy(void* userPtr,short int collisionFilterGroup, short int collisionFilterMask,void* multiSapParentProxy=0)
:m_clientObject(userPtr),
btBroadphaseProxy(const btVector3& aabbMin,const btVector3& aabbMax,void* userPtr,short int collisionFilterGroup, short int collisionFilterMask,void* multiSapParentProxy=0)
:m_aabbMin(aabbMin),
m_aabbMax(aabbMax),
m_clientObject(userPtr),
m_collisionFilterGroup(collisionFilterGroup),
m_collisionFilterMask(collisionFilterMask)
{