diff options
author | Erwin Coumans <blender@erwincoumans.com> | 2006-06-20 09:41:28 +0400 |
---|---|---|
committer | Erwin Coumans <blender@erwincoumans.com> | 2006-06-20 09:41:28 +0400 |
commit | 4201a0bfcf2232167805835fb7f004de72d242bd (patch) | |
tree | cea2a70306fab5029d283d5da418dfa8b1835696 /source/gameengine/Physics | |
parent | c8b6425f617df7b8ba7cc9265f253c4a1a049533 (diff) |
bugfix: removing constraints should activate rigidbodies.
Diffstat (limited to 'source/gameengine/Physics')
-rw-r--r-- | source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp index f6482e2c3e7..f169059cf37 100644 --- a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp +++ b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp @@ -1277,7 +1277,15 @@ void CcdPhysicsEnvironment::removeConstraint(int constraintId) TypedConstraint* constraint = (*i); if (constraint->GetUserConstraintId() == constraintId) { + //activate objects + if (constraint->GetRigidBodyA().mergesSimulationIslands()) + constraint->GetRigidBodyA().activate(); + if (constraint->GetRigidBodyB().mergesSimulationIslands()) + constraint->GetRigidBodyB().activate(); + std::swap(*i, m_constraints.back()); + + m_constraints.pop_back(); break; } |