Remove global variables in btRigidBody

This commit is contained in:
Benau 2020-02-28 09:30:47 +08:00
parent ef1d74b961
commit 336883e2e7
3 changed files with 13 additions and 12 deletions

View File

@ -271,7 +271,7 @@ int btDiscreteDynamicsWorld::stepSimulation( btScalar timeStep,int maxSubSteps,
if (getDebugDrawer())
{
btIDebugDraw* debugDrawer = getDebugDrawer ();
gDisableDeactivation = (debugDrawer->getDebugMode() & btIDebugDraw::DBG_NoDeactivation) != 0;
//gDisableDeactivation = (debugDrawer->getDebugMode() & btIDebugDraw::DBG_NoDeactivation) != 0;
}
if (numSimulationSubSteps)
{

View File

@ -22,9 +22,10 @@ subject to the following restrictions:
#include "LinearMath/btSerializer.h"
//'temporarily' global variables
btScalar gDeactivationTime = btScalar(2.);
bool gDisableDeactivation = false;
static int uniqueId = 0;
// Need to disable completely for STK with multiple physics instance
//btScalar gDeactivationTime = btScalar(2.);
//bool gDisableDeactivation = false;
//static int uniqueId = 0;
btRigidBody::btRigidBody(const btRigidBody::btRigidBodyConstructionInfo& constructionInfo)
@ -81,7 +82,7 @@ void btRigidBody::setupRigidBody(const btRigidBody::btRigidBodyConstructionInfo&
m_restitution = constructionInfo.m_restitution;
setCollisionShape( constructionInfo.m_collisionShape );
m_debugBodyId = uniqueId++;
// m_debugBodyId = uniqueId++;
btAssert(constructionInfo.m_mass>=0);
setMassProps(constructionInfo.m_mass, constructionInfo.m_localInertia);
updateInertiaTensor();

View File

@ -90,7 +90,7 @@ class btRigidBody : public btCollisionObject
int m_rigidbodyFlags;
int m_debugBodyId;
//int m_debugBodyId;
protected:
@ -464,16 +464,16 @@ public:
return false;
//disable deactivation
if (gDisableDeactivation || (gDeactivationTime == btScalar(0.)))
return false;
//if (gDisableDeactivation || (gDeactivationTime == btScalar(0.)))
// return false;
if ( (getActivationState() == ISLAND_SLEEPING) || (getActivationState() == WANTS_DEACTIVATION))
return true;
if (m_deactivationTime> gDeactivationTime)
{
return true;
}
//if (m_deactivationTime> gDeactivationTime)
//{
// return true;
//}
return false;
}