def test_link_iterator(self): model_shapes = iDynTree.ModelSolidShapes() model_shapes.resize(2) # Create one mesh for link 0. mesh = iDynTree.ExternalMesh() mesh.name = "mesh_l0" model_shapes[0].append(mesh) # Create two meshes for link 1. mesh = iDynTree.ExternalMesh() mesh.name = "mesh_l1_1" model_shapes[1].append(mesh) mesh = iDynTree.ExternalMesh() mesh.name = "mesh_l1_2" model_shapes[1].append(mesh) # Test that the iterator iterates once on the first link. i = 0 for m in model_shapes[0]: i += 1 self.assertTrue(m.name) self.assertEqual(i, 1) # Test that the iterator iterates twice on the first link. i = 0 for m in model_shapes[1]: i += 1 self.assertTrue(m.name) self.assertEqual(i, 2)
def test_add_mesh(self): model_shapes = iDynTree.ModelSolidShapes() model_shapes.resize(2) mesh = iDynTree.ExternalMesh() mesh.name = "a_mesh" model_shapes[0].append(mesh) self.assertEqual(len(model_shapes[1]), 0) self.assertEqual(model_shapes[0, 0].name, "a_mesh")
def test_clear_on_model_shapes(self): model_shapes = iDynTree.ModelSolidShapes() model_shapes.resize(2) mesh = iDynTree.ExternalMesh() mesh.name = "a_mesh" model_shapes[0].append(mesh) self.assertEqual(len(model_shapes), 2) model_shapes.clear() self.assertEqual(len(model_shapes), 0)
def test_resize_with_model(self): model_shapes = iDynTree.ModelSolidShapes() model = iDynTree.Model() link1 = iDynTree.Link() link2 = iDynTree.Link() model.add_link("link1", link1) model.add_link("link2", link2) model_shapes.resize(model) self.assertEqual(len(model_shapes), model.get_nr_of_links())
def test_overwrite_shape_on_model_list(self): model_shapes = iDynTree.ModelSolidShapes() model_shapes.resize(1) mesh = iDynTree.ExternalMesh() mesh.name = "a_mesh" model_shapes[0].append(mesh) # Now change the shape in [0][0] mesh.name = "a_different_mesh" model_shapes[0, 0] = mesh self.assertEqual(model_shapes[0, 0].name, "a_different_mesh")
def test_resize_with_size(self): model_shapes = iDynTree.ModelSolidShapes() model_shapes.resize(2) self.assertEqual(len(model_shapes), 2)