From 836234696d7509a6ee2dbc6b0ca180003e542d14 Mon Sep 17 00:00:00 2001 From: "erwin.coumans" Date: Tue, 3 Nov 2009 06:06:56 +0000 Subject: [PATCH] applied patch removing some virtual calls in 'findUnions' thanks to holorose for the patch http://code.google.com/p/bullet/issues/detail?id=295 --- .../CollisionDispatch/btSimulationIslandManager.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp b/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp index 0328d0f73..0a41ab9a5 100644 --- a/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp +++ b/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp @@ -44,10 +44,12 @@ void btSimulationIslandManager::findUnions(btDispatcher* /* dispatcher */,btColl { { + btOverlappingPairCache* pairCachePtr = colWorld->getPairCache(); + const int numOverlappingPairs = pairCachePtr->getNumOverlappingPairs(); + btBroadphasePair* pairPtr = pairCachePtr->getOverlappingPairArrayPtr(); - for (int i=0;igetPairCache()->getNumOverlappingPairs();i++) + for (int i=0;igetPairCache()->getOverlappingPairArrayPtr(); const btBroadphasePair& collisionPair = pairPtr[i]; btCollisionObject* colObj0 = (btCollisionObject*)collisionPair.m_pProxy0->m_clientObject; btCollisionObject* colObj1 = (btCollisionObject*)collisionPair.m_pProxy1->m_clientObject;