def test_applyCentralImpulse(self): body = RigidBody(mass=1.0) body.applyCentralImpulse(Vector3(1, 2, 3)) world = DiscreteDynamicsWorld() world.setGravity(Vector3(0, 0, 0)) world.addRigidBody(body) expectedSteps = 64 numSteps = world.stepSimulation(1.0, expectedSteps, 1.0 / expectedSteps) self.assertEqual(numSteps, expectedSteps) transform = body.getMotionState().getWorldTransform() position = transform.getOrigin() self.assertEqual(position.x, 1.0) self.assertEqual(position.y, 2.0) self.assertEqual(position.z, 3.0) rot = transform.getRotation() self.assertEqual( (rot.getX(), rot.getY(), rot.getZ(), rot.getW()), (0, 0, 0, 1))
def test_applyCentralImpulse(self): body = RigidBody(mass=1.0) body.applyCentralImpulse(Vector3(1, 2, 3)) world = DiscreteDynamicsWorld() world.setGravity(Vector3(0, 0, 0)) world.addRigidBody(body) expectedSteps = 64 numSteps = world.stepSimulation(1.0, expectedSteps, 1.0 / expectedSteps) self.assertEqual(numSteps, expectedSteps) transform = body.getMotionState().getWorldTransform() position = transform.getOrigin() self.assertEqual(position.x, 1.0) self.assertEqual(position.y, 2.0) self.assertEqual(position.z, 3.0) rot = transform.getRotation() self.assertEqual((rot.getX(), rot.getY(), rot.getZ(), rot.getW()), (0, 0, 0, 1))