def test_get_edges(self): b = Box(1, 2, 3) e = b.get_edges(tf_identity) row, col = e.shape assert row == 12 assert col == 6 v = b.get_vertices(tf_identity) # check only one edge v0 = np.hstack((v[0], v[1])) assert_almost_equal(v0, e[0])
def test_get_vertices(self): b = Box(1, 2, 3) v = b.get_vertices(tf_identity) desired = np.array([ [-0.5, 1, 1.5], [-0.5, 1, -1.5], [-0.5, -1, 1.5], [-0.5, -1, -1.5], [0.5, 1, 1.5], [0.5, 1, -1.5], [0.5, -1, 1.5], [0.5, -1, -1.5], ]) assert_almost_equal(v, desired)
def test_set_transform(self): b = Box(1, 2, 3) tf = np.eye(4) tf[0, 3] = 10.5 v = b.get_vertices(tf) desired = np.array([ [10, 1, 1.5], [10, 1, -1.5], [10, -1, 1.5], [10, -1, -1.5], [11, 1, 1.5], [11, 1, -1.5], [11, -1, 1.5], [11, -1, -1.5], ]) assert_almost_equal(v, desired)
def test_set_transform2(self): b = Box(1, 2, 3) tf = np.eye(4) # rotate pi / 2 around x-axis tf[1:3, 1:3] = np.array([[0, -1], [1, 0]]) v = b.get_vertices(tf) desired = np.array([ [-0.5, -1.5, 1], [-0.5, 1.5, 1], [-0.5, -1.5, -1], [-0.5, 1.5, -1], [0.5, -1.5, 1], [0.5, 1.5, 1], [0.5, -1.5, -1], [0.5, 1.5, -1], ]) assert_almost_equal(v, desired)