From 201a62d7c9c882f10a0c15f393f613b56ecc7d89 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 27 Oct 2020 13:19:53 +0100 Subject: [PATCH] easier visualization if verts have a point-cell --- python/damask/_vtk.py | 16 ++++++++++++---- python/tests/reference/VTK/polyData.vtp | 10 +++++----- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index c1fe52f38..546ff4c88 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -108,11 +108,18 @@ class VTK: Spatial position of the points. """ + N = points.shape[0] vtk_points = vtk.vtkPoints() vtk_points.SetData(np_to_vtk(points)) + vtk_cells = vtk.vtkCellArray() + vtk_cells.SetNumberOfCells(N) + vtk_cells.SetCells(N,np_to_vtkIdTypeArray(np.stack((np.ones (N,dtype=np.int64), + np.arange(N,dtype=np.int64)),axis=1).ravel(),deep=True)) + vtk_data = vtk.vtkPolyData() vtk_data.SetPoints(vtk_points) + vtk_data.SetVerts(vtk_cells) return VTK(vtk_data) @@ -164,6 +171,7 @@ class VTK: return VTK(vtk_data) + @staticmethod def _write(writer): """Wrapper for parallel writing.""" @@ -192,7 +200,7 @@ class VTK: default_ext = writer.GetDefaultFileExtension() ext = Path(fname).suffix if ext and ext != '.'+default_ext: - raise ValueError(f'Given extension {ext} does not match default .{default_ext}') + raise ValueError(f'Given extension "{ext}" does not match default ".{default_ext}"') writer.SetFileName(str(Path(fname).with_suffix('.'+default_ext))) if compress: writer.SetCompressorTypeToZLib() @@ -238,10 +246,10 @@ class VTK: else data).reshape(N_data,-1),deep=True) # avoid large files d.SetName(label) - if N_data == N_cells: - self.vtk_data.GetCellData().AddArray(d) - elif N_data == N_points: + if N_data == N_points: self.vtk_data.GetPointData().AddArray(d) + elif N_data == N_cells: + self.vtk_data.GetCellData().AddArray(d) else: raise ValueError(f'Cell / point count ({N_cells} / {N_points}) differs from data ({N_data}).') elif isinstance(data,pd.DataFrame): diff --git a/python/tests/reference/VTK/polyData.vtp b/python/tests/reference/VTK/polyData.vtp index 6ed05f67f..dc4b5f149 100644 --- a/python/tests/reference/VTK/polyData.vtp +++ b/python/tests/reference/VTK/polyData.vtp @@ -1,7 +1,7 @@ - + AQAAAACAAAB4AAAAVgAAAA==eF5jYICBhv2WfY9tLfuS7Ypk3PeDaCDf7okF3/7Vq1bZrV6lZQ+k94HEgHL2QHovUM7+iUUfiG0LlQdhkH77Ipnj9iB5qFp7kBjQDiBmcADRANsaLXM= @@ -31,11 +31,11 @@ - - AAAAAACAAAAAAAAA + + AQAAAACAAABQAAAAIgAAAA==eF4txbcBACAIADAsiP7/sAPJkog2PL28nT4uXz9/BXgALg== - - AAAAAACAAAAAAAAA + + AQAAAACAAABQAAAAIgAAAA==eF4txbcBACAIADA76v8HM5As6a0MTy9vH4evn78TBzAAOA==