Example #1
0
 def test_applyCentralForce(self):
     body = RigidBody(mass=1.0)
     body.applyCentralForce(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, 0.5 + 0.5 / expectedSteps)
     self.assertEqual(position.y, 1.0 + 1.0 / expectedSteps)
     self.assertEqual(position.z, 1.5 + 1.5 / expectedSteps)
     rot = transform.getRotation()
     self.assertEqual(
         (rot.getX(), rot.getY(), rot.getZ(), rot.getW()), (0, 0, 0, 1))
Example #2
0
 def test_applyCentralForce(self):
     body = RigidBody(mass=1.0)
     body.applyCentralForce(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, 0.5 + 0.5 / expectedSteps)
     self.assertEqual(position.y, 1.0 + 1.0 / expectedSteps)
     self.assertEqual(position.z, 1.5 + 1.5 / expectedSteps)
     rot = transform.getRotation()
     self.assertEqual((rot.getX(), rot.getY(), rot.getZ(), rot.getW()),
                      (0, 0, 0, 1))