Changeset 2430 for code/branches/physics/src/bullet/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h
- Timestamp:
- Dec 13, 2008, 11:45:51 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/physics/src/bullet/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h
r2192 r2430 23 23 struct btSimpleBroadphaseProxy : public btBroadphaseProxy 24 24 { 25 btVector3 m_min;26 btVector3 m_max;27 25 int m_nextFree; 28 26 … … 32 30 btSimpleBroadphaseProxy() {}; 33 31 34 btSimpleBroadphaseProxy(const btPoint3& minpt,const btPoint3& maxpt,int shapeType,void* userPtr,short int collisionFilterGroup,short int collisionFilterMask,void* multiSapProxy) 35 :btBroadphaseProxy(userPtr,collisionFilterGroup,collisionFilterMask,multiSapProxy), 36 m_min(minpt),m_max(maxpt) 32 btSimpleBroadphaseProxy(const btVector3& minpt,const btVector3& maxpt,int shapeType,void* userPtr,short int collisionFilterGroup,short int collisionFilterMask,void* multiSapProxy) 33 :btBroadphaseProxy(minpt,maxpt,userPtr,collisionFilterGroup,collisionFilterMask,multiSapProxy) 37 34 { 38 35 (void)shapeType; … … 57 54 int m_numHandles; // number of active handles 58 55 int m_maxHandles; // max number of handles 56 int m_LastHandleIndex; 59 57 60 58 btSimpleBroadphaseProxy* m_pHandles; // handles pool … … 69 67 m_firstFreeHandle = m_pHandles[freeHandle].GetNextFree(); 70 68 m_numHandles++; 69 if(freeHandle > m_LastHandleIndex) 70 { 71 m_LastHandleIndex = freeHandle; 72 } 71 73 return freeHandle; 72 74 } … … 76 78 int handle = int(proxy-m_pHandles); 77 79 btAssert(handle >= 0 && handle < m_maxHandles); 78 80 if(handle == m_LastHandleIndex) 81 { 82 m_LastHandleIndex--; 83 } 79 84 proxy->SetNextFree(m_firstFreeHandle); 80 85 m_firstFreeHandle = handle; 86 87 proxy->m_clientObject = 0; 81 88 82 89 m_numHandles--; … … 93 100 { 94 101 btSimpleBroadphaseProxy* proxy0 = static_cast<btSimpleBroadphaseProxy*>(proxy); 102 return proxy0; 103 } 104 105 inline const btSimpleBroadphaseProxy* getSimpleProxyFromProxy(btBroadphaseProxy* proxy) const 106 { 107 const btSimpleBroadphaseProxy* proxy0 = static_cast<const btSimpleBroadphaseProxy*>(proxy); 95 108 return proxy0; 96 109 } … … 118 131 virtual void destroyProxy(btBroadphaseProxy* proxy,btDispatcher* dispatcher); 119 132 virtual void setAabb(btBroadphaseProxy* proxy,const btVector3& aabbMin,const btVector3& aabbMax, btDispatcher* dispatcher); 133 virtual void getAabb(btBroadphaseProxy* proxy,btVector3& aabbMin, btVector3& aabbMax ) const; 134 135 virtual void rayTest(const btVector3& rayFrom,const btVector3& rayTo, btBroadphaseRayCallback& rayCallback, const btVector3& aabbMin=btVector3(0,0,0),const btVector3& aabbMax=btVector3(0,0,0)); 120 136 121 137 btOverlappingPairCache* getOverlappingPairCache()
Note: See TracChangeset
for help on using the changeset viewer.