2020-12-27 22:16:11 +00:00
|
|
|
#include <mutex>
|
|
|
|
|
|
|
|
#include "contacttestwrapper.h"
|
|
|
|
|
|
|
|
namespace MWPhysics
|
|
|
|
{
|
|
|
|
// Concurrent calls to contactPairTest (and by extension contactTest) are forbidden.
|
|
|
|
static std::mutex contactMutex;
|
2022-09-22 21:26:05 +03:00
|
|
|
void ContactTestWrapper::contactTest(btCollisionWorld* collisionWorld, btCollisionObject* colObj,
|
|
|
|
btCollisionWorld::ContactResultCallback& resultCallback)
|
2020-12-27 22:16:11 +00:00
|
|
|
{
|
|
|
|
std::unique_lock lock(contactMutex);
|
|
|
|
collisionWorld->contactTest(colObj, resultCallback);
|
|
|
|
}
|
|
|
|
|
2022-09-22 21:26:05 +03:00
|
|
|
void ContactTestWrapper::contactPairTest(btCollisionWorld* collisionWorld, btCollisionObject* colObjA,
|
|
|
|
btCollisionObject* colObjB, btCollisionWorld::ContactResultCallback& resultCallback)
|
2020-12-27 22:16:11 +00:00
|
|
|
{
|
|
|
|
std::unique_lock lock(contactMutex);
|
|
|
|
collisionWorld->contactPairTest(colObjA, colObjB, resultCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|