From 7b5da116629189f38d41cee5c4bd59d2cd23bdcc Mon Sep 17 00:00:00 2001 From: ejcoumans Date: Fri, 8 Sep 2006 02:41:47 +0000 Subject: [PATCH] dispatcher was missing actual implementation for user-registration function --- Bullet/CollisionDispatch/CollisionDispatcher.cpp | 4 ++++ Bullet/CollisionDispatch/ConvexConcaveCollisionAlgorithm.cpp | 1 + 2 files changed, 5 insertions(+) diff --git a/Bullet/CollisionDispatch/CollisionDispatcher.cpp b/Bullet/CollisionDispatch/CollisionDispatcher.cpp index 8ea1522cc..62f555c60 100644 --- a/Bullet/CollisionDispatch/CollisionDispatcher.cpp +++ b/Bullet/CollisionDispatch/CollisionDispatcher.cpp @@ -60,6 +60,10 @@ CollisionDispatcher::CollisionDispatcher (): }; +void CollisionDispatcher::RegisterCollisionCreateFunc(int proxyType0, int proxyType1, CollisionAlgorithmCreateFunc *createFunc) +{ + m_doubleDispatch[proxyType0][proxyType1] = createFunc; +} CollisionDispatcher::~CollisionDispatcher() { diff --git a/Bullet/CollisionDispatch/ConvexConcaveCollisionAlgorithm.cpp b/Bullet/CollisionDispatch/ConvexConcaveCollisionAlgorithm.cpp index 63ed29888..c863277f5 100644 --- a/Bullet/CollisionDispatch/ConvexConcaveCollisionAlgorithm.cpp +++ b/Bullet/CollisionDispatch/ConvexConcaveCollisionAlgorithm.cpp @@ -113,6 +113,7 @@ void ConvexTriangleCallback::ProcessTriangle(SimdVector3* triangle,int partId, i CollisionShape* tmpShape = ob->m_collisionShape; ob->m_collisionShape = &tm; + ///this should use the Dispatcher, so the actual registered algorithm is used ConvexConvexAlgorithm cvxcvxalgo(m_manifoldPtr,ci,m_convexProxy,&m_triangleProxy); cvxcvxalgo.SetShapeIdentifiers(-1,-1,partId,triangleIndex); cvxcvxalgo.ProcessCollision(m_convexProxy,&m_triangleProxy,*m_dispatchInfoPtr);