Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErwin Coumans <blender@erwincoumans.com>2006-11-21 14:56:02 +0300
committerErwin Coumans <blender@erwincoumans.com>2006-11-21 14:56:02 +0300
commit318b98fc9a8fe31a6b71c6e71eb0f486fd59b25a (patch)
tree914a6f2ee65b593af1b7e075ddb8cbefdd55c916 /extern/bullet2/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp
parent057a6e336093c48d92e48ea1f47ea6536be291ef (diff)
some fixes, related to object activation in game blender
Diffstat (limited to 'extern/bullet2/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp')
-rw-r--r--extern/bullet2/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/extern/bullet2/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp b/extern/bullet2/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp
index be4f8686f30..33287008004 100644
--- a/extern/bullet2/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp
+++ b/extern/bullet2/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp
@@ -176,7 +176,8 @@ void btSimulationIslandManager::buildAndProcessIslands(btDispatcher* dispatcher,
}
}
}
-
+
+
if (allSleeping)
{
int idx;
@@ -239,14 +240,15 @@ 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)
+ if (colObj0->isStaticOrKinematicObject() && colObj0->getActivationState() != ISLAND_SLEEPING)
{
- colObj1->setActivationState(ACTIVE_TAG);
+ colObj1->activate();
}
- if (colObj1->isKinematicObject() && colObj1->getActivationState() != ISLAND_SLEEPING)
+ if (colObj1->isStaticOrKinematicObject() && colObj1->getActivationState() != ISLAND_SLEEPING)
{
- colObj0->setActivationState(ACTIVE_TAG);
+ colObj0->activate();
}
//filtering for response