[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59892] branches/soc-2013-rigid_body_sim/ intern/rigidbody/rb_bullet_api.cpp: rigidbody: Allow trigger objects to respond to collisions
Sergej Reich
sergej.reich at googlemail.com
Fri Sep 6 19:58:54 CEST 2013
Revision: 59892
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59892
Author: sergof
Date: 2013-09-06 17:58:54 +0000 (Fri, 06 Sep 2013)
Log Message:
-----------
rigidbody: Allow trigger objects to respond to collisions
It's still desirable to have trigger object interacting with the
simulation in many cases.
Will add separate ghost objects later to allow for triggers that don't
collide.
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-06 17:58:53 UTC (rev 59891)
+++ branches/soc-2013-rigid_body_sim/intern/rigidbody/rb_bullet_api.cpp 2013-09-06 17:58:54 UTC (rev 59892)
@@ -593,14 +593,16 @@
body->setCollisionFlags(body->getCollisionFlags() & ~btCollisionObject::CF_KINEMATIC_OBJECT);
}
+void RB_body_suspend(rbRigidBody *object)
+{
+ object->saved_mass = RB_body_get_mass(object);
+ RB_body_set_mass(object, 0.0f);
+ object->suspended = true;
+}
+
void RB_body_set_trigger(rbRigidBody *object, int trigger)
{
- btRigidBody *body = object->body;
object->is_trigger = trigger;
- if (trigger)
- body->setCollisionFlags(body->getCollisionFlags() | btCollisionObject::CF_NO_CONTACT_RESPONSE);
- else
- body->setCollisionFlags(body->getCollisionFlags() & ~btCollisionObject::CF_NO_CONTACT_RESPONSE);
}
/* ............ */
More information about the Bf-blender-cvs
mailing list