コード例 #1
0
ファイル: collision_test.py プロジェクト: Beliaar/bGrease
	def test_query_point(self):
		from bGrease.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
ファイル: collision_test.py プロジェクト: Beliaar/bGrease
	def test_before_step(self):
		# Queries should be well behaved even before the controller is run
		from bGrease.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())