add 'force activate', for static/kinematic objects that get moved.

fixed some activation issues with kinematic objects
This commit is contained in:
ejcoumans
2006-11-21 13:00:18 +00:00
parent f4e8bf70c5
commit 0757f1fe9e
5 changed files with 31 additions and 10 deletions

View File

@@ -368,8 +368,14 @@ void btDiscreteDynamicsWorld::updateActivationState(float timeStep)
if (body->wantsSleeping())
{
if (body->getActivationState() == ACTIVE_TAG)
body->setActivationState( WANTS_DEACTIVATION );
if (body->isStaticOrKinematicObject())
{
body->setActivationState(ISLAND_SLEEPING);
} else
{
if (body->getActivationState() == ACTIVE_TAG)
body->setActivationState( WANTS_DEACTIVATION );
}
} else
{
if (body->getActivationState() != DISABLE_DEACTIVATION)
@@ -834,6 +840,7 @@ void btDiscreteDynamicsWorld::debugDrawObject(const btTransform& worldTransform,
}
}
void btDiscreteDynamicsWorld::setConstraintSolver(btConstraintSolver* solver)
{
if (m_ownsConstraintSolver)