MCPcopy Create free account
hub / github.com/apple/ml-pointersect / Test_AABB_Intersection

Class Test_AABB_Intersection

tests/plib/test_utils.py:9–55  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7
8
9class Test_AABB_Intersection(unittest.TestCase):
10 def test_1(self):
11 N = 10000
12 stime = timer()
13 for _ in range(N):
14 out_dict = utils.ray_aabb_intersection(
15 ray_origin=torch.zeros(3),
16 ray_direction=torch.tensor([0,0,1.]),
17 bbox_min_bounds=torch.tensor([0,0,2.]),
18 bbox_max_bounds=torch.tensor([10, 10, 10.]),
19 )
20 etime = timer()
21 print(f'v1 takes {(etime - stime) / N} secs per test')
22 assert out_dict['is_intersected']
23 assert np.isclose(out_dict['t_near'].detach().cpu().numpy(), 2.)
24 assert np.isclose(out_dict['t_far'].detach().cpu().numpy(), 10.)
25
26
27 def test_2(self):
28 N = 10000
29 stime = timer()
30 for _ in range(N):
31 out_dict = utils.ray_aabb_intersection_2(
32 ray_origin=torch.zeros(3),
33 ray_direction=torch.tensor([0,0,1.]),
34 bbox_min_bounds=torch.tensor([0,0,2.]),
35 bbox_max_bounds=torch.tensor([10, 10, 10.]),
36 )
37 etime = timer()
38 print(f'v2 takes {(etime - stime) / N} secs per test')
39 assert out_dict['is_intersected']
40 assert np.isclose(out_dict['t_near'].detach().cpu().numpy(), 2.)
41 assert np.isclose(out_dict['t_far'].detach().cpu().numpy(), 10.)
42
43 def test_3(self):
44 N = 10000
45 stime = timer()
46 for _ in range(N):
47 out_dict = utils.ray_aabb_intersection(
48 ray_origin=torch.zeros(3),
49 ray_direction=torch.tensor([0,0,1.]),
50 bbox_min_bounds=torch.tensor([1, 1, 2.]),
51 bbox_max_bounds=torch.tensor([10, 10, 10.]),
52 )
53 etime = timer()
54 print(f'v1 takes {(etime - stime) / N} secs per test')
55 assert out_dict['is_intersected'] == False
56
57
58

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected