[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60286] branches/soc-2013-rigid_body_sim/ intern/rigidbody/rb_bullet_api.cpp: rigidbody: Fix conflict between collision and time based activation

Sergej Reich sergej.reich at googlemail.com
Sat Sep 21 07:12:08 CEST 2013


Revision: 60286
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60286
Author:   sergof
Date:     2013-09-21 05:12:08 +0000 (Sat, 21 Sep 2013)
Log Message:
-----------
rigidbody: Fix conflict between collision and time based activation

Now do more thorough check.

Modified Paths:
--------------
    branches/soc-2013-rigid_body_sim/intern/rigidbody/rb_bullet_api.cpp

Modified: branches/soc-2013-rigid_body_sim/intern/rigidbody/rb_bullet_api.cpp
===================================================================
--- branches/soc-2013-rigid_body_sim/intern/rigidbody/rb_bullet_api.cpp	2013-09-21 05:12:07 UTC (rev 60285)
+++ branches/soc-2013-rigid_body_sim/intern/rigidbody/rb_bullet_api.cpp	2013-09-21 05:12:08 UTC (rev 60286)
@@ -159,11 +159,27 @@
 	rbRigidBody *rb0 = (rbRigidBody *)((btRigidBody *)collisionPair.m_pProxy0->m_clientObject)->getUserPointer();
 	rbRigidBody *rb1 = (rbRigidBody *)((btRigidBody *)collisionPair.m_pProxy1->m_clientObject)->getUserPointer();
 	
-	if (rb1->suspended && !(rb1->activation_type == ACTIVATION_TRIGGER && !rb0->is_trigger)) {
-		activate(rb1);
+	if (rb1->suspended) {
+		switch(rb1->activation_type) {
+		case ACTIVATION_COLLISION:
+			activate(rb1);
+			break;
+		case ACTIVATION_TRIGGER:
+			if (rb0->is_trigger)
+				activate(rb1);
+			break;
+		}
 	}
-	if (rb0->suspended && !(rb0->activation_type == ACTIVATION_TRIGGER && !rb1->is_trigger)) {
-		activate(rb0);
+	if (rb0->suspended) {
+		switch(rb0->activation_type) {
+		case ACTIVATION_COLLISION:
+			activate(rb0);
+			break;
+		case ACTIVATION_TRIGGER:
+			if (rb1->is_trigger)
+				activate(rb0);
+			break;
+		}
 	}
 	dispatcher.defaultNearCallback(collisionPair, dispatcher, dispatchInfo);
 }




More information about the Bf-blender-cvs mailing list