From 4a8e14bfbd817d8745b133b7724309793dfff9d0 Mon Sep 17 00:00:00 2001 From: enn0x Date: Wed, 1 May 2013 21:00:47 +0000 Subject: [PATCH] Fix for repeatedly scaling shapes. --- panda/src/bullet/bulletRigidBodyNode.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/panda/src/bullet/bulletRigidBodyNode.cxx b/panda/src/bullet/bulletRigidBodyNode.cxx index 2d40c532a9..d6b6f85a5c 100644 --- a/panda/src/bullet/bulletRigidBodyNode.cxx +++ b/panda/src/bullet/bulletRigidBodyNode.cxx @@ -86,6 +86,7 @@ void BulletRigidBodyNode:: shape_changed() { set_mass(get_mass()); + transform_changed(); } //////////////////////////////////////////////////////////////////// @@ -292,10 +293,11 @@ transform_changed() { if (ts->has_scale()) { btVector3 new_scale = LVecBase3_to_btVector3(ts->get_scale()); btVector3 current_scale = _shape->getLocalScaling(); + btVector3 current_scale_inv(1.0/current_scale.x(), 1.0/current_scale.y(), 1.0/current_scale.z()); if (new_scale != current_scale) { + _shape->setLocalScaling(current_scale_inv); _shape->setLocalScaling(new_scale); - shape_changed(); } }