Пример #1
0
 def test_query_point(self):
     from grease.collision import Circular, Pair
     world = TestWorld()
     broad = TestCollisionSys()
     coll = Circular(broad_phase=broad)
     coll.set_world(world)
     pos_set = world.position.set
     col_set = world.collision.set
     pos_set(1, (0, 0))
     col_set(1, radius=1)
     pos_set(2, (0, 2))
     col_set(2, radius=1.5)
     pos_set(3, (-4, 3))
     col_set(3, radius=3)
     coll.step(0)
     self.assertEqual(broad.last_from_mask, None)
     self.assertEqual(coll.query_point(0,0), set([1]))
     self.assertEqual(coll.query_point(0,1), set([1, 2]))
     self.assertEqual(coll.query_point([0,1]), set([1, 2]))
     self.assertEqual(coll.query_point(1, 0), set([1]))
     self.assertEqual(coll.query_point(1.0001, 0), set())
     self.assertEqual(coll.query_point(-1, 3), set([2,3]))
     self.assertEqual(coll.query_point(-5, 3), set([3]))
     self.assertEqual(broad.last_from_mask, 0xffffffff)
     coll.query_point([0, 0], from_mask=0xff)
     self.assertEqual(broad.last_from_mask, 0xff)
Пример #2
0
 def test_query_point(self):
     from grease.collision import Circular, Pair
     world = TestWorld()
     broad = TestCollisionSys()
     coll = Circular(broad_phase=broad)
     coll.set_world(world)
     pos_set = world.position.set
     col_set = world.collision.set
     pos_set(1, (0, 0))
     col_set(1, radius=1)
     pos_set(2, (0, 2))
     col_set(2, radius=1.5)
     pos_set(3, (-4, 3))
     col_set(3, radius=3)
     coll.step(0)
     self.assertEqual(broad.last_from_mask, None)
     self.assertEqual(coll.query_point(0, 0), set([1]))
     self.assertEqual(coll.query_point(0, 1), set([1, 2]))
     self.assertEqual(coll.query_point([0, 1]), set([1, 2]))
     self.assertEqual(coll.query_point(1, 0), set([1]))
     self.assertEqual(coll.query_point(1.0001, 0), set())
     self.assertEqual(coll.query_point(-1, 3), set([2, 3]))
     self.assertEqual(coll.query_point(-5, 3), set([3]))
     self.assertEqual(broad.last_from_mask, 0xffffffff)
     coll.query_point([0, 0], from_mask=0xff)
     self.assertEqual(broad.last_from_mask, 0xff)
Пример #3
0
 def test_before_step(self):
     # Queries should be well behaved even before the controller is run
     from grease.collision import Circular
     world = TestWorld()
     broad = TestCollisionSys()
     coll = Circular(broad_phase=broad)
     coll.set_world(world)
     self.assertEqual(coll.collision_pairs, set())
     self.assertEqual(coll.query_point(0,0), set())
Пример #4
0
 def test_before_step(self):
     # Queries should be well behaved even before the controller is run
     from grease.collision import Circular
     world = TestWorld()
     broad = TestCollisionSys()
     coll = Circular(broad_phase=broad)
     coll.set_world(world)
     self.assertEqual(coll.collision_pairs, set())
     self.assertEqual(coll.query_point(0, 0), set())