From 3ff805a8f195f5a03cc0dd970b800536a92ffdce Mon Sep 17 00:00:00 2001 From: Andrew Maclean <andrew.amaclean@gmail.com> Date: Tue, 5 Oct 2021 15:24:50 +1100 Subject: [PATCH] UnstructuredGrid updated --- .../ClipUnstructuredGridWithPlane.py | 54 ++++++++++----- .../ClipUnstructuredGridWithPlane2.py | 52 ++++++++++----- src/Python/UnstructuredGrid/UGrid.py | 65 +++++++++++++------ 3 files changed, 115 insertions(+), 56 deletions(-) diff --git a/src/Python/UnstructuredGrid/ClipUnstructuredGridWithPlane.py b/src/Python/UnstructuredGrid/ClipUnstructuredGridWithPlane.py index dfba1212a9d..ab175ec2fab 100755 --- a/src/Python/UnstructuredGrid/ClipUnstructuredGridWithPlane.py +++ b/src/Python/UnstructuredGrid/ClipUnstructuredGridWithPlane.py @@ -2,7 +2,25 @@ import collections -import vtkmodules.all as vtk +# noinspection PyUnresolvedReferences +import vtkmodules.vtkInteractionStyle +# noinspection PyUnresolvedReferences +import vtkmodules.vtkRenderingOpenGL2 +from vtkmodules.vtkCommonColor import vtkNamedColors +from vtkmodules.vtkCommonDataModel import ( + vtkCellTypes, + vtkPlane +) +from vtkmodules.vtkCommonTransforms import vtkTransform +from vtkmodules.vtkFiltersGeneral import vtkTableBasedClipDataSet +from vtkmodules.vtkIOLegacy import vtkUnstructuredGridReader +from vtkmodules.vtkRenderingCore import ( + vtkActor, + vtkDataSetMapper, + vtkRenderWindow, + vtkRenderWindowInteractor, + vtkRenderer +) def get_program_parameters(): @@ -13,12 +31,12 @@ def get_program_parameters(): The resulting output and clipped output are presented in yellow and red respectively. To illustrate the clipped interfaces, the example uses a vtkTransform to rotate each output about their centers. - Note: This clipping filter doe retain the original cells if they are not clipped. + Note: This clipping filter does retain the original cells if they are not clipped. ''' parser = argparse.ArgumentParser(description=description, epilog=epilogue, formatter_class=argparse.RawDescriptionHelpFormatter) - parser.add_argument('filename', help='treemesh.vtk.') + parser.add_argument('filename', help='treemesh.vtk') args = parser.parse_args() return args.filename @@ -27,67 +45,67 @@ def main(): filename = get_program_parameters() # Create the reader for the data. - reader = vtk.vtkUnstructuredGridReader() + reader = vtkUnstructuredGridReader() reader.SetFileName(filename) reader.Update() bounds = reader.GetOutput().GetBounds() center = reader.GetOutput().GetCenter() - colors = vtk.vtkNamedColors() - renderer = vtk.vtkRenderer() + colors = vtkNamedColors() + renderer = vtkRenderer() renderer.SetBackground(colors.GetColor3d('Wheat')) renderer.UseHiddenLineRemovalOn() - renderWindow = vtk.vtkRenderWindow() + renderWindow = vtkRenderWindow() renderWindow.AddRenderer(renderer) renderWindow.SetSize(640, 480) - interactor = vtk.vtkRenderWindowInteractor() + interactor = vtkRenderWindowInteractor() interactor.SetRenderWindow(renderWindow) xnorm = [-1.0, -1.0, 1.0] - clipPlane = vtk.vtkPlane() + clipPlane = vtkPlane() clipPlane.SetOrigin(reader.GetOutput().GetCenter()) clipPlane.SetNormal(xnorm) - clipper = vtk.vtkTableBasedClipDataSet() + clipper = vtkTableBasedClipDataSet() clipper.SetClipFunction(clipPlane) clipper.SetInputData(reader.GetOutput()) clipper.SetValue(0.0) clipper.GenerateClippedOutputOn() clipper.Update() - insideMapper = vtk.vtkDataSetMapper() + insideMapper = vtkDataSetMapper() insideMapper.SetInputData(clipper.GetOutput()) insideMapper.ScalarVisibilityOff() - insideActor = vtk.vtkActor() + insideActor = vtkActor() insideActor.SetMapper(insideMapper) insideActor.GetProperty().SetDiffuseColor(colors.GetColor3d('banana')) insideActor.GetProperty().SetAmbient(.3) insideActor.GetProperty().EdgeVisibilityOn() - clippedMapper = vtk.vtkDataSetMapper() + clippedMapper = vtkDataSetMapper() clippedMapper.SetInputData(clipper.GetClippedOutput()) clippedMapper.ScalarVisibilityOff() - clippedActor = vtk.vtkActor() + clippedActor = vtkActor() clippedActor.SetMapper(clippedMapper) clippedActor.GetProperty().SetDiffuseColor(colors.GetColor3d('tomato')) insideActor.GetProperty().SetAmbient(.3) clippedActor.GetProperty().EdgeVisibilityOn() # Create transforms to make a better visualization - insideTransform = vtk.vtkTransform() + insideTransform = vtkTransform() insideTransform.Translate(-(bounds[1] - bounds[0]) * 0.75, 0, 0) insideTransform.Translate(center[0], center[1], center[2]) insideTransform.RotateY(-120.0) insideTransform.Translate(-center[0], -center[1], -center[2]) insideActor.SetUserTransform(insideTransform) - clippedTransform = vtk.vtkTransform() + clippedTransform = vtkTransform() clippedTransform.Translate((bounds[1] - bounds[0]) * 0.75, 0, 0) clippedTransform.Translate(center[0], center[1], center[2]) clippedTransform.RotateY(60.0) @@ -117,7 +135,7 @@ def main(): # Sort by key and put into an OrderedDict. # An OrderedDict remembers the order in which the keys have been inserted. for k, v in collections.OrderedDict(sorted(cellMap.items())).items(): - print('\tCell type ', vtk.vtkCellTypes.GetClassNameFromTypeId(k), ' occurs ', v, ' times.') + print('\tCell type ', vtkCellTypes.GetClassNameFromTypeId(k), ' occurs ', v, ' times.') numberOfCells = clipper.GetClippedOutput().GetNumberOfCells() print('------------------------') @@ -128,7 +146,7 @@ def main(): outsideCellMap.setdefault(clipper.GetClippedOutput().GetCellType(i), 0) outsideCellMap[clipper.GetClippedOutput().GetCellType(i)] += 1 for k, v in collections.OrderedDict(sorted(outsideCellMap.items())).items(): - print('\tCell type ', vtk.vtkCellTypes.GetClassNameFromTypeId(k), ' occurs ', v, ' times.') + print('\tCell type ', vtkCellTypes.GetClassNameFromTypeId(k), ' occurs ', v, ' times.') if __name__ == '__main__': diff --git a/src/Python/UnstructuredGrid/ClipUnstructuredGridWithPlane2.py b/src/Python/UnstructuredGrid/ClipUnstructuredGridWithPlane2.py index cdc93548a1d..35caad9873a 100755 --- a/src/Python/UnstructuredGrid/ClipUnstructuredGridWithPlane2.py +++ b/src/Python/UnstructuredGrid/ClipUnstructuredGridWithPlane2.py @@ -2,7 +2,25 @@ import collections -import vtkmodules.all as vtk +# noinspection PyUnresolvedReferences +import vtkmodules.vtkInteractionStyle +# noinspection PyUnresolvedReferences +import vtkmodules.vtkRenderingOpenGL2 +from vtkmodules.vtkCommonColor import vtkNamedColors +from vtkmodules.vtkCommonDataModel import ( + vtkCellTypes, + vtkPlane +) +from vtkmodules.vtkCommonTransforms import vtkTransform +from vtkmodules.vtkFiltersGeneral import vtkClipDataSet +from vtkmodules.vtkIOLegacy import vtkUnstructuredGridReader +from vtkmodules.vtkRenderingCore import ( + vtkActor, + vtkDataSetMapper, + vtkRenderWindow, + vtkRenderWindowInteractor, + vtkRenderer +) def get_program_parameters(): @@ -17,7 +35,7 @@ def get_program_parameters(): ''' parser = argparse.ArgumentParser(description=description, epilog=epilogue, formatter_class=argparse.RawDescriptionHelpFormatter) - parser.add_argument('filename', help='treemesh.vtk.') + parser.add_argument('filename', help='treemesh.vtk') args = parser.parse_args() return args.filename @@ -26,67 +44,67 @@ def main(): filename = get_program_parameters() # Create the reader for the data. - reader = vtk.vtkUnstructuredGridReader() + reader = vtkUnstructuredGridReader() reader.SetFileName(filename) reader.Update() bounds = reader.GetOutput().GetBounds() center = reader.GetOutput().GetCenter() - colors = vtk.vtkNamedColors() - renderer = vtk.vtkRenderer() + colors = vtkNamedColors() + renderer = vtkRenderer() renderer.SetBackground(colors.GetColor3d('Wheat')) renderer.UseHiddenLineRemovalOn() - renderWindow = vtk.vtkRenderWindow() + renderWindow = vtkRenderWindow() renderWindow.AddRenderer(renderer) renderWindow.SetSize(640, 480) - interactor = vtk.vtkRenderWindowInteractor() + interactor = vtkRenderWindowInteractor() interactor.SetRenderWindow(renderWindow) xnorm = [-1.0, -1.0, 1.0] - clipPlane = vtk.vtkPlane() + clipPlane = vtkPlane() clipPlane.SetOrigin(reader.GetOutput().GetCenter()) clipPlane.SetNormal(xnorm) - clipper = vtk.vtkClipDataSet() + clipper = vtkClipDataSet() clipper.SetClipFunction(clipPlane) clipper.SetInputData(reader.GetOutput()) clipper.SetValue(0.0) clipper.GenerateClippedOutputOn() clipper.Update() - insideMapper = vtk.vtkDataSetMapper() + insideMapper = vtkDataSetMapper() insideMapper.SetInputData(clipper.GetOutput()) insideMapper.ScalarVisibilityOff() - insideActor = vtk.vtkActor() + insideActor = vtkActor() insideActor.SetMapper(insideMapper) insideActor.GetProperty().SetDiffuseColor(colors.GetColor3d('banana')) insideActor.GetProperty().SetAmbient(.3) insideActor.GetProperty().EdgeVisibilityOn() - clippedMapper = vtk.vtkDataSetMapper() + clippedMapper = vtkDataSetMapper() clippedMapper.SetInputData(clipper.GetClippedOutput()) clippedMapper.ScalarVisibilityOff() - clippedActor = vtk.vtkActor() + clippedActor = vtkActor() clippedActor.SetMapper(clippedMapper) clippedActor.GetProperty().SetDiffuseColor(colors.GetColor3d('tomato')) insideActor.GetProperty().SetAmbient(.3) clippedActor.GetProperty().EdgeVisibilityOn() # Create transforms to make a better visualization - insideTransform = vtk.vtkTransform() + insideTransform = vtkTransform() insideTransform.Translate(-(bounds[1] - bounds[0]) * 0.75, 0, 0) insideTransform.Translate(center[0], center[1], center[2]) insideTransform.RotateY(-120.0) insideTransform.Translate(-center[0], -center[1], -center[2]) insideActor.SetUserTransform(insideTransform) - clippedTransform = vtk.vtkTransform() + clippedTransform = vtkTransform() clippedTransform.Translate((bounds[1] - bounds[0]) * 0.75, 0, 0) clippedTransform.Translate(center[0], center[1], center[2]) clippedTransform.RotateY(60.0) @@ -116,7 +134,7 @@ def main(): # Sort by key and put into an OrderedDict. # An OrderedDict remembers the order in which the keys have been inserted. for k, v in collections.OrderedDict(sorted(cellMap.items())).items(): - print('\tCell type ', vtk.vtkCellTypes.GetClassNameFromTypeId(k), ' occurs ', v, ' times.') + print('\tCell type ', vtkCellTypes.GetClassNameFromTypeId(k), ' occurs ', v, ' times.') numberOfCells = clipper.GetClippedOutput().GetNumberOfCells() print('------------------------') @@ -127,7 +145,7 @@ def main(): outsideCellMap.setdefault(clipper.GetClippedOutput().GetCellType(i), 0) outsideCellMap[clipper.GetClippedOutput().GetCellType(i)] += 1 for k, v in collections.OrderedDict(sorted(outsideCellMap.items())).items(): - print('\tCell type ', vtk.vtkCellTypes.GetClassNameFromTypeId(k), ' occurs ', v, ' times.') + print('\tCell type ', vtkCellTypes.GetClassNameFromTypeId(k), ' occurs ', v, ' times.') if __name__ == '__main__': diff --git a/src/Python/UnstructuredGrid/UGrid.py b/src/Python/UnstructuredGrid/UGrid.py index 595e10af22c..2abce1025a6 100755 --- a/src/Python/UnstructuredGrid/UGrid.py +++ b/src/Python/UnstructuredGrid/UGrid.py @@ -4,11 +4,34 @@ This example shows how to create an unstructured grid. ''' -import vtkmodules.all as vtk +# noinspection PyUnresolvedReferences +import vtkmodules.vtkInteractionStyle +# noinspection PyUnresolvedReferences +import vtkmodules.vtkRenderingOpenGL2 +from vtkmodules.vtkCommonColor import vtkNamedColors +from vtkmodules.vtkCommonCore import vtkPoints +from vtkmodules.vtkCommonDataModel import ( + VTK_HEXAHEDRON, + VTK_LINE, + VTK_POLYGON, + VTK_QUAD, + VTK_TETRA, + VTK_TRIANGLE, + VTK_TRIANGLE_STRIP, + VTK_VERTEX, + vtkUnstructuredGrid +) +from vtkmodules.vtkRenderingCore import ( + vtkActor, + vtkDataSetMapper, + vtkRenderWindow, + vtkRenderWindowInteractor, + vtkRenderer +) def main(): - colors = vtk.vtkNamedColors() + colors = vtkNamedColors() x = [[0, 0, 0], [1, 0, 0], [2, 0, 0], [0, 1, 0], [1, 1, 0], [2, 1, 0], [0, 0, 1], [1, 0, 1], [2, 0, 1], [0, 1, 1], [1, 1, 1], [2, 1, 1], [0, 1, 2], [1, 1, 2], [2, 1, 2], [0, 1, 3], [1, 1, 3], [2, 1, 3], [0, 1, 4], [1, 1, 4], @@ -22,38 +45,38 @@ def main(): [23, 26, 0, 0, 0, 0, 0, 0], [21, 24, 0, 0, 0, 0, 0, 0], [25, 0, 0, 0, 0, 0, 0, 0]] print(len(x), len(pts)) - renderer = vtk.vtkRenderer() + renderer = vtkRenderer() - renWin = vtk.vtkRenderWindow() + renWin = vtkRenderWindow() renWin.AddRenderer(renderer) - iren = vtk.vtkRenderWindowInteractor() + iren = vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) - points = vtk.vtkPoints() + points = vtkPoints() for i in range(0, len(x)): points.InsertPoint(i, x[i]) - ugrid = vtk.vtkUnstructuredGrid() + ugrid = vtkUnstructuredGrid() ugrid.Allocate(100) - ugrid.InsertNextCell(vtk.VTK_HEXAHEDRON, 8, pts[0]) - ugrid.InsertNextCell(vtk.VTK_HEXAHEDRON, 8, pts[1]) - ugrid.InsertNextCell(vtk.VTK_TETRA, 4, pts[2][:4]) - ugrid.InsertNextCell(vtk.VTK_TETRA, 4, pts[3][:4]) - ugrid.InsertNextCell(vtk.VTK_POLYGON, 6, pts[4][:6]) - ugrid.InsertNextCell(vtk.VTK_TRIANGLE_STRIP, 6, pts[5][:6]) - ugrid.InsertNextCell(vtk.VTK_QUAD, 4, pts[6][:4]) - ugrid.InsertNextCell(vtk.VTK_TRIANGLE, 3, pts[7][:3]) - ugrid.InsertNextCell(vtk.VTK_TRIANGLE, 3, pts[8][:3]) - ugrid.InsertNextCell(vtk.VTK_LINE, 2, pts[9][:2]) - ugrid.InsertNextCell(vtk.VTK_LINE, 2, pts[10][:2]) - ugrid.InsertNextCell(vtk.VTK_VERTEX, 1, pts[11][:1]) + ugrid.InsertNextCell(VTK_HEXAHEDRON, 8, pts[0]) + ugrid.InsertNextCell(VTK_HEXAHEDRON, 8, pts[1]) + ugrid.InsertNextCell(VTK_TETRA, 4, pts[2][:4]) + ugrid.InsertNextCell(VTK_TETRA, 4, pts[3][:4]) + ugrid.InsertNextCell(VTK_POLYGON, 6, pts[4][:6]) + ugrid.InsertNextCell(VTK_TRIANGLE_STRIP, 6, pts[5][:6]) + ugrid.InsertNextCell(VTK_QUAD, 4, pts[6][:4]) + ugrid.InsertNextCell(VTK_TRIANGLE, 3, pts[7][:3]) + ugrid.InsertNextCell(VTK_TRIANGLE, 3, pts[8][:3]) + ugrid.InsertNextCell(VTK_LINE, 2, pts[9][:2]) + ugrid.InsertNextCell(VTK_LINE, 2, pts[10][:2]) + ugrid.InsertNextCell(VTK_VERTEX, 1, pts[11][:1]) ugrid.SetPoints(points) - ugridMapper = vtk.vtkDataSetMapper() + ugridMapper = vtkDataSetMapper() ugridMapper.SetInputData(ugrid) - ugridActor = vtk.vtkActor() + ugridActor = vtkActor() ugridActor.SetMapper(ugridMapper) ugridActor.GetProperty().SetColor(colors.GetColor3d('Peacock')) ugridActor.GetProperty().EdgeVisibilityOn() -- GitLab