improvements/bugfixes related to kinematic(animated) objects, synchronizeMotionStates

This commit is contained in:
ejcoumans
2006-10-19 15:20:38 +00:00
parent d11572a4d7
commit 289c5ca7fe
9 changed files with 71 additions and 40 deletions

View File

@@ -237,6 +237,16 @@ void btSimulationIslandManager::buildAndProcessIslands(btDispatcher* dispatcher,
if (((colObj0) && colObj0->GetActivationState() != ISLAND_SLEEPING) ||
((colObj1) && colObj1->GetActivationState() != ISLAND_SLEEPING))
{
//kinematic objects don't merge islands, but wake up all connected objects
if (colObj0->isKinematicObject() && colObj0->GetActivationState() != ISLAND_SLEEPING)
{
colObj1->SetActivationState(ACTIVE_TAG);
}
if (colObj1->isKinematicObject() && colObj1->GetActivationState() != ISLAND_SLEEPING)
{
colObj0->SetActivationState(ACTIVE_TAG);
}
//filtering for response
if (dispatcher->needsResponse(colObj0,colObj1))
islandmanifold.push_back(manifold);