From 52eb5fa1a42433a2c3ad7eb459ec41d1310b1d63 Mon Sep 17 00:00:00 2001 From: ejcoumans Date: Thu, 11 Oct 2007 03:32:37 +0000 Subject: [PATCH] don't use multisap yet in basic demo. fix crash in multi sap (due to new pair manager) --- Demos/BasicDemo/BasicDemo.cpp | 6 +++--- .../BroadphaseCollision/btMultiSapBroadphase.cpp | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Demos/BasicDemo/BasicDemo.cpp b/Demos/BasicDemo/BasicDemo.cpp index aeac6128b..5abf33ceb 100644 --- a/Demos/BasicDemo/BasicDemo.cpp +++ b/Demos/BasicDemo/BasicDemo.cpp @@ -14,7 +14,7 @@ subject to the following restrictions: */ -//#define USE_GROUND_BOX 1 +#define USE_GROUND_BOX 1 //#define PRINT_CONTACT_STATISTICS 1 //#define CHECK_MEMORY_LEAKS 1 //#define USE_PARALLEL_DISPATCHER 1 @@ -160,8 +160,8 @@ void BasicDemo::initPhysics() #define maxProxies 8192 btVector3 worldAabbMin(-10000,-10000,-10000); btVector3 worldAabbMax(10000,10000,10000); - //m_overlappingPairCache = new btAxisSweep3(worldAabbMin,worldAabbMax,maxProxies); - m_overlappingPairCache = new btMultiSapBroadphase(); + m_overlappingPairCache = new btAxisSweep3(worldAabbMin,worldAabbMax,maxProxies); + #else diff --git a/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp b/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp index ec26a7af1..9abd480f5 100644 --- a/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp +++ b/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp @@ -103,6 +103,8 @@ void btMultiSapBroadphase::calculateOverlappingPairs(btDispatcher* dispatcher) btBroadphasePairArray& overlappingPairArray = m_overlappingPairs->getOverlappingPairArray(); +#ifndef USE_HASH_PAIRCACHE + //perform a sort, to find duplicates and to sort 'invalid' pairs to the end overlappingPairArray.heapSort(btBroadphasePairSortPredicate()); @@ -172,6 +174,8 @@ void btMultiSapBroadphase::calculateOverlappingPairs(btDispatcher* dispatcher) m_invalidPair = 0; #endif//CLEAN_INVALID_PAIRS +#endif //USE_HASH_PAIRCACHE + }