Forráskód Böngészése

Avoid inertia calculation for empty shape - Bullet

Andrea Catania 6 éve
szülő
commit
5a26c7e0e5
1 módosított fájl, 2 hozzáadás és 1 törlés
  1. 2 1
      modules/bullet/rigid_body_bullet.cpp

+ 2 - 1
modules/bullet/rigid_body_bullet.cpp

@@ -825,7 +825,8 @@ void RigidBodyBullet::reload_shapes() {
 		// shapes incorrectly do not set the vector in calculateLocalIntertia.
 		// shapes incorrectly do not set the vector in calculateLocalIntertia.
 		// Arbitrary zero is preferable to undefined behaviour.
 		// Arbitrary zero is preferable to undefined behaviour.
 		btVector3 inertia(0, 0, 0);
 		btVector3 inertia(0, 0, 0);
-		mainShape->calculateLocalInertia(mass, inertia);
+		if (EMPTY_SHAPE_PROXYTYPE != mainShape->getShapeType()) // Necessary to avoid assertion of the empty shape
+			mainShape->calculateLocalInertia(mass, inertia);
 		btBody->setMassProps(mass, inertia);
 		btBody->setMassProps(mass, inertia);
 	}
 	}
 	btBody->updateInertiaTensor();
 	btBody->updateInertiaTensor();