diff options
author | Erwin Coumans <blender@erwincoumans.com> | 2006-10-31 21:19:57 +0300 |
---|---|---|
committer | Erwin Coumans <blender@erwincoumans.com> | 2006-10-31 21:19:57 +0300 |
commit | 92fd0433463695bff37167a03e1fd87921368955 (patch) | |
tree | 184bd01d47b1fcd0eea144c4a46b1f40520625db /extern/bullet2/src/BulletCollision/BroadphaseCollision | |
parent | 35d6c6e695351051febf7d6aa84761db1d733295 (diff) |
update Bullet 2.x with latest changes, notice that the integration is not finished yet, and GameBlender is still using extern/bullet.
Diffstat (limited to 'extern/bullet2/src/BulletCollision/BroadphaseCollision')
4 files changed, 11 insertions, 3 deletions
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h index 713d7d1aa19..3462e6e472d 100644 --- a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h +++ b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h @@ -103,6 +103,10 @@ struct btBroadphaseProxy { return (proxyType == COMPOUND_SHAPE_PROXYTYPE); } + static inline bool isInfinite(int proxyType) + { + return (proxyType == STATIC_PLANE_PROXYTYPE); + } }; diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h index a57c7619985..3195f996fe0 100644 --- a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h +++ b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h @@ -21,11 +21,14 @@ class btDispatcher; class btManifoldResult; struct btCollisionObject; struct btDispatcherInfo; +class btPersistentManifold; + struct btCollisionAlgorithmConstructionInfo { btCollisionAlgorithmConstructionInfo() - :m_dispatcher(0) + :m_dispatcher(0), + m_manifold(0) { } btCollisionAlgorithmConstructionInfo(btDispatcher* dispatcher,int temp) @@ -34,6 +37,7 @@ struct btCollisionAlgorithmConstructionInfo } btDispatcher* m_dispatcher; + btPersistentManifold* m_manifold; int getDispatcherId(); diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btDispatcher.h b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btDispatcher.h index f87c0281a97..75ef338fdde 100644 --- a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btDispatcher.h +++ b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btDispatcher.h @@ -65,7 +65,7 @@ class btDispatcher public: virtual ~btDispatcher() ; - virtual btCollisionAlgorithm* findAlgorithm(btCollisionObject* body0,btCollisionObject* body1) = 0; + virtual btCollisionAlgorithm* findAlgorithm(btCollisionObject* body0,btCollisionObject* body1,btPersistentManifold* sharedManifold=0) = 0; // // asume dispatchers to have unique id's in the range [0..max dispacher] diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h index 85bb8265cf9..bc62961bf3c 100644 --- a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h +++ b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h @@ -66,7 +66,7 @@ class btOverlappingPairCache : public btBroadphaseInterface inline bool needsBroadphaseCollision(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1) const { - bool collides = proxy0->m_collisionFilterGroup & proxy1->m_collisionFilterMask; + bool collides = (proxy0->m_collisionFilterGroup & proxy1->m_collisionFilterMask) != 0; collides = collides && (proxy1->m_collisionFilterGroup & proxy0->m_collisionFilterMask); return collides; |