def test_add_mesh_on_first_lvl(self):
     node = get_empty_node_with_empty_children(4)
     mesh = [[[0, 0, 0], [2, 2, 2], [2, 3, 3]]]
     node.Meshes = mesh
     Cot._distribution(node)
     self.assertEqual(1, len(node.Meshes))
     self.assertEqual(mesh, node.Meshes)
 def test_add_first_lvl_mesh(self):
     node = get_empty_node_with_empty_children(4)
     mesh = [[[1, 1, 1], [1, 2, 1], [2, 2, 2]]]
     node.Meshes = mesh
     Cot._fill_tree(node, 0.5)
     self.assertEqual(1, len(node.Meshes))
     self.assertEqual(mesh, node.Meshes)
 def test_dont_add_man_size(self):
     node = get_empty_node_with_empty_children(4)
     meshes = [[[0.5, 0.5, 0.5], [1, 0.5, 1], [1, 1, 1]],
               [[0.6, 0.6, 0.6], [0.6, 0.7, 0.7], [0.5, 0.5, 0.5]]]
     node.Meshes = meshes
     Cot._fill_tree(node, 2)
     self.assertEqual(2, len(node.Children[7].Meshes))
 def test_add_third_lvl(self):
     node = get_empty_node_with_empty_children(4)
     meshes = [[[0.5, 0.5, 0.5], [1, 0.5, 1], [1, 1, 1]],
               [[0.6, 0.6, 0.6], [0.6, 0.7, 0.7], [0.5, 0.5, 0.5]]]
     node.Meshes = meshes
     Cot._fill_tree(node, 1)
     self.assertEqual(1, len(node.Children[7].Children[7].Meshes))
     self.assertEqual(1, len(node.Children[7].Meshes))
 def test_add_mesh_on_second_lvl(self):
     node = get_empty_node_with_empty_children(4)
     mesh = [[[3, 3, 3], [3, 3.5, 3], [3.5, 3, 3]]]
     node.Meshes = mesh
     Cot._distribution(node)
     self.assertEqual(0, len(node.Meshes))
     self.assertEqual(1, len(node.Children[0].Meshes))
     self.assertEqual(mesh, node.Children[0].Meshes)
 def test_voxel_on_bounding_boxes(self):
     node = get_empty_node_with_empty_children(4)
     res = [
         i
         for i in node._get_crossing_with_voxel_bounding_boxes([0, 0, 0], 2)
     ]
     self.assertEqual(1, len(res))
     self.assertEqual(res[0], node.Children[7])
 def test_voxel_on_center(self):
     node = get_empty_node_with_empty_children(4)
     res = [
         i
         for i in node._get_crossing_with_voxel_bounding_boxes([1, 1, 1], 2)
     ]
     self.assertEqual(8, len(res))
     for child in node.Children:
         self.assertTrue(child in res)
 def test_voxel_is_max(self):
     node = get_empty_node_with_empty_children()
     res = [
         i
         for i in node._get_crossing_with_voxel_bounding_boxes([0, 0, 0], 1)
     ]
     self.assertEqual(8, len(res))
     for child in node.Children:
         self.assertTrue(child in res)
 def test_voxel_on_bounding_boxes_cildren_node(self):
     node = get_empty_node_with_empty_children(4)
     child = node.Children[7]
     child.add_children()
     res = [
         i for i in child._get_crossing_with_voxel_bounding_boxes([0, 0, 0],
                                                                  1)
     ]
     self.assertEqual(1, len(res))
     self.assertEqual(res[0], child.Children[7])
Ejemplo n.º 10
0
 def test_4_points_mesh_on_boundeng_boxes(self):
     node = get_empty_node_with_empty_children(4)
     mesh = [[0, 0, 0], [2, 0, 0], [2, 2, 2], [0, 2, 2]]
     res = Cot._get_bounding_box_for_mesh(mesh, node)
     self.assertEqual([[-1, -1, -1], [0, -1, -1], [0, 0, 0], [-1, 0, 0]],
                      res)
Ejemplo n.º 11
0
 def test_4_points_mesh(self):
     node = get_empty_node_with_empty_children(4)
     mesh = [[0.5, 0.5, 0.5], [0.7, 0.7, 0.7], [1, 1, 1], [1.5, 1.5, 1.5]]
     res = Cot._get_bounding_box_for_mesh(mesh, node)
     self.assertEqual([[-1, -1, -1] for i in range(4)], res)
Ejemplo n.º 12
0
 def test_3_point_with_extreme_point(self):
     node = get_empty_node_with_empty_children(4)
     mesh = [[0, 0, 0], [1, 1, 1], [1.5, 1.5, 1.5]]
     res = Cot._get_bounding_box_for_mesh(mesh, node)
     self.assertEqual([[-1, -1, -1] for i in range(3)], res)
Ejemplo n.º 13
0
 def test_with_two_meshes_without_normal_vector_false(self):
     node = get_empty_node_with_empty_children()
     node.Meshes = [[[1, 1, 1], [2, 3, 2], [3, 3, 3]],
                    [[2, 2, 2], [3, 4, 3], [4, 4, 4]]]
     self.assertFalse(node._check_crossing_with_meshes([0, 0, 0], 0.5))
Ejemplo n.º 14
0
 def test_simple_false(self):
     node = get_empty_node_with_empty_children()
     node.Meshes = [[[1, 1, 1], [2, 3, 2], [3, 3, 3], []]]
     self.assertFalse(node._check_crossing_with_meshes([0, 0, 0], 0.5))
Ejemplo n.º 15
0
 def test_with_two_meshes_true(self):
     node = get_empty_node_with_empty_children()
     node.Meshes = [[[1, 1, 1], [2, 3, 2], [3, 3, 3], []],
                    [[2, 2, 2], [3, 4, 3], [4, 4, 4], []]]
     self.assertTrue(node._check_crossing_with_meshes([1, 1, 1], 1))
Ejemplo n.º 16
0
 def test_voxel_on_positive_side(self):
     node = get_empty_node_with_empty_children()
     res = [i for i in node.get_all_voxels_vertex([1, 1, 1], 1)]
     answ = [[1, 1, 1], [1, 1, 2], [1, 2, 1], [1, 2, 2], [2, 1, 1],
             [2, 1, 2], [2, 2, 1], [2, 2, 2]]
     self.assertEqual(res, answ)
 def test_dont_add_one_mesh(self):
     node = get_empty_node_with_empty_children(4)
     meshes = [[[0.6, 0.6, 0.6], [0.6, 0.7, 0.7], [0.5, 0.5, 0.5]]]
     node.Meshes = meshes
     Cot._fill_tree(node, 1)
     self.assertEqual(1, len(node.Meshes))
Ejemplo n.º 18
0
 def test_simple(self):
     node = get_empty_node_with_empty_children()
     res = [i for i in node.get_all_voxels_vertex([0, 0, 0], 1)]
     answ = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [1, 0, 0],
             [1, 0, 1], [1, 1, 0], [1, 1, 1]]
     self.assertEqual(res, answ)
 def get_node_with_meshes_on_first_lvl(self):
     node = get_empty_node_with_empty_children(4)
     node.Meshes = [[[2, 2, 2], [2, 2, 3], [1, 1, 1]],
                    [[0, 0, 0], [1, 1, 1], [1, 2, 1]]]
     return node
Ejemplo n.º 20
0
 def test_voxel_on_negative_side(self):
     node = get_empty_node_with_empty_children()
     res = [i for i in node.get_all_voxels_vertex([-4, -4, -4], 2)]
     answ = [[-4, -4, -4], [-4, -4, -2], [-4, -2, -4], [-4, -2, -2],
             [-2, -4, -4], [-2, -4, -2], [-2, -2, -4], [-2, -2, -2]]
     self.assertEqual(res, answ)
 def test_with_zero_meshes_false(self):
     node = get_empty_node_with_empty_children()
     self.assertFalse(node._check_crossing_with_meshes([0, 0, 0], 1))