非结构化Grid 的网格线 之前我们说过如何查看两个多面体内部的Feature Lines
和外部的 Outline
。然而那种方法只适用于Polygonal data
,对于Unstructure Grid
并不适用。所以如果我们想要将Unstructured Grid
显示出来,那么就需要vtkGeometryFilter
这个功能。详情请看下图:
Putanowicz and Magoules simplified the visualization process of unstructured grids with VTK [1]. The figure shown above clearly displayed how the outline grid can be presented by the VTK reader. 总体的实现过程可查看如下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 def file_open (self, path ): vtkReader = vtk.vtkUnstructuredGridReader() vtkReader.SetFileName(path) vtkReader.ReadAllVectorsOn() vtkReader.ReadAllScalarsOn() vtkReader.Update() vtkMapper = vtk.vtkDataSetMapper() vtkMapper.SetInputConnection(vtkReader.GetOutputPort()) actor = vtk.vtkActor() actor.SetMapper(vtkMapper) actor.GetProperty().SetOpacity(0.9 ) self .renderer.AddActor(actor) self .renderer.ResetCamera() geometry = vtk.vtkGeometryFilter() geometry.SetInputConnection(vtkReader.GetOutputPort()) poly_mapper = vtk.vtkPolyDataMapper() extract = vtk.vtkExtractEdges() extract.SetInputConnection(geometry.GetOutputPort()) poly_mapper.SetInputConnection(extract.GetOutputPort()) poly_actor = vtk.vtkActor() poly_actor.SetMapper(poly_mapper) self .renderer.AddActor(poly_actor) self .renderer.ResetCamera()
根据以上代码,我们就可以将grid outline 显示出来了。
Reference [1] Putanowicz, R. and Magoules, F., 2003. Simple visualizations of unstructured grids with VTK.