mirror of https://github.com/OpenMW/openmw.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
803 B
C++
22 lines
803 B
C++
3 years ago
|
#include <mutex>
|
||
|
|
||
|
#include "contacttestwrapper.h"
|
||
|
|
||
|
namespace MWPhysics
|
||
|
{
|
||
|
// Concurrent calls to contactPairTest (and by extension contactTest) are forbidden.
|
||
|
static std::mutex contactMutex;
|
||
|
void ContactTestWrapper::contactTest(btCollisionWorld* collisionWorld, btCollisionObject* colObj, btCollisionWorld::ContactResultCallback& resultCallback)
|
||
|
{
|
||
|
std::unique_lock lock(contactMutex);
|
||
|
collisionWorld->contactTest(colObj, resultCallback);
|
||
|
}
|
||
|
|
||
|
void ContactTestWrapper::contactPairTest(btCollisionWorld* collisionWorld, btCollisionObject* colObjA, btCollisionObject* colObjB, btCollisionWorld::ContactResultCallback& resultCallback)
|
||
|
{
|
||
|
std::unique_lock lock(contactMutex);
|
||
|
collisionWorld->contactPairTest(colObjA, colObjB, resultCallback);
|
||
|
}
|
||
|
|
||
|
}
|