Bläddra i källkod

added Surface._triangles_vertex_indices()

Fabian Peter Hammerle 6 år sedan
förälder
incheckning
b2e0c29925
2 ändrade filer med 15 tillägg och 0 borttagningar
  1. 3 0
      freesurfer_surface/__init__.py
  2. 12 0
      tests/test_surface.py

+ 3 - 0
freesurfer_surface/__init__.py

@@ -510,3 +510,6 @@ class Surface:
             self.triangles[triangle_index] \
                 = Triangle(map(lambda i: i + int(vertex_index_conversion[i]),
                                self.triangles[triangle_index].vertex_indices))
+
+    def _triangles_vertex_indices(self) -> numpy.ndarray:
+        return numpy.vstack([t.vertex_indices for t in self.triangles])

+ 12 - 0
tests/test_surface.py

@@ -510,3 +510,15 @@ def test_remove_unused_vertices_single():
     assert all(vertex_index < len(surface.vertices)
                for triangle in surface.triangles
                for vertex_index in triangle.vertex_indices)
+
+
+def test__triangles_vertex_indices():
+    surface = Surface()
+    for i in range(5):
+        surface.add_vertex(Vertex(i, i, i))
+    surface.triangles.append(Triangle((0, 1, 2)))
+    surface.triangles.append(Triangle((3, 1, 2)))
+    surface.triangles.append(Triangle((3, 1, 4)))
+    surface.triangles.append(Triangle((5, 1, 4)))
+    assert (surface._triangles_vertex_indices()
+            == [[0, 1, 2], [3, 1, 2], [3, 1, 4], [5, 1, 4]]).all()