39 lines
1.7 KiB
Diff
39 lines
1.7 KiB
Diff
commit 08df5951c9bbcf16234289eaef99c51e3f8bed13
|
|
Author: Henry Hirsch <henry@w3-net.de>
|
|
Date: Tue Feb 28 21:08:04 2017 +0100
|
|
|
|
Port uncollider to bullet 2.86
|
|
|
|
diff --git a/source/physics/Uncollider.cpp b/source/physics/Uncollider.cpp
|
|
index 99ffc79..8f60885 100644
|
|
--- a/source/physics/Uncollider.cpp
|
|
+++ b/source/physics/Uncollider.cpp
|
|
@@ -72,19 +72,24 @@ void Uncollider::nearCallback(btBroadphasePair &collisionPair,
|
|
|
|
btCollisionObject *colObj0 = (btCollisionObject*)collisionPair.m_pProxy0->m_clientObject;
|
|
btCollisionObject *colObj1 = (btCollisionObject*)collisionPair.m_pProxy1->m_clientObject;
|
|
-
|
|
+
|
|
if (dispatcher.needsCollision(colObj0, colObj1)) {
|
|
btCollisionObjectWrapper obj0Wrap(0, colObj0->getCollisionShape(),
|
|
colObj0, colObj0->getWorldTransform(), -1, -1);
|
|
btCollisionObjectWrapper obj1Wrap(0, colObj1->getCollisionShape(),
|
|
colObj1, colObj1->getWorldTransform(), -1, -1);
|
|
|
|
+ btManifoldResult contactPointResult(&obj0Wrap, &obj1Wrap);
|
|
+
|
|
if (not collisionPair.m_algorithm) {
|
|
- collisionPair.m_algorithm = dispatcher.findAlgorithm(&obj0Wrap, &obj1Wrap);
|
|
+
|
|
+ collisionPair.m_algorithm =
|
|
+ dispatcher.findAlgorithm(&obj0Wrap, &obj1Wrap,
|
|
+ contactPointResult.getPersistentManifold(),
|
|
+ ebtDispatcherQueryType::BT_CONTACT_POINT_ALGORITHMS);
|
|
}
|
|
|
|
if (collisionPair.m_algorithm) {
|
|
- btManifoldResult contactPointResult(&obj0Wrap, &obj1Wrap);
|
|
if (dispatchInfo.m_dispatchFunc == btDispatcherInfo::DISPATCH_DISCRETE) {
|
|
collisionPair.m_algorithm->processCollision(&obj0Wrap, &obj1Wrap, dispatchInfo,
|
|
&contactPointResult);
|