NOVCAGraph
VTKExamples/Python/Graphs/NOVCAGraph
Description¶
- Contributed by Sanjaya Gajurel
Code¶
NOVCAGraph.py
#!/usr/bin/env python # Sanjaya Gajurel, Computational Scientist, Case Western Reserve University, April 2015 import sys import vtk import os #------------------------------------------------------------------------------ # Script Entry Point #------------------------------------------------------------------------------ if __name__ == "__main__": print "vtkGraph: Building a graph using Unstructured Grid & dumping it in a vtk file, vertex.vtu, to be visualized using ParaView" pointSource = vtk.vtkPointSource() pointSource.Update() # Create an integer array to store vertex id data & link it with its degree value as a scalar. degree = vtk.vtkIntArray() degree.SetNumberOfComponents(1) degree.SetName("degree") degree.SetNumberOfTuples(7) degree.SetValue(0,2) degree.SetValue(1,1) degree.SetValue(2,3) degree.SetValue(3,3) degree.SetValue(4,4) degree.SetValue(5,2) degree.SetValue(6,1) pointSource.GetOutput().GetPointData().AddArray(degree) # Assign co-ordinates for vertices Points = vtk.vtkPoints() Points.InsertNextPoint(0,1,0) Points.InsertNextPoint(0,0,0) Points.InsertNextPoint(1,1,0) Points.InsertNextPoint(1,0,0) Points.InsertNextPoint(2,1,0) Points.InsertNextPoint(2,0,0) Points.InsertNextPoint(3,0,0) # Establish the specified edges using CellArray line = vtk.vtkCellArray() line.Allocate(8) line.InsertNextCell(2) line.InsertCellPoint(0) line.InsertCellPoint(1) line.InsertNextCell(2) line.InsertCellPoint(0) line.InsertCellPoint(2) line.InsertNextCell(2) line.InsertCellPoint(2) line.InsertCellPoint(3) line.InsertNextCell(2) line.InsertCellPoint(2) line.InsertCellPoint(4) line.InsertNextCell(2) line.InsertCellPoint(3) line.InsertCellPoint(4) line.InsertNextCell(2) line.InsertCellPoint(3) line.InsertCellPoint(5) line.InsertNextCell(2) line.InsertCellPoint(4) line.InsertCellPoint(5) line.InsertNextCell(2) line.InsertCellPoint(4) line.InsertCellPoint(6) # Add the vertices and edges to unstructured Grid G = vtk.vtkUnstructuredGrid() G.GetPointData().SetScalars(degree) G.SetPoints(Points) G.SetCells(vtk.VTK_LINE, line) # Dump the graph in VTK unstructured format (.vtu) gw = vtk.vtkXMLUnstructuredGridWriter() gw.SetFileName("vertex.vtu") gw.SetInput(G) gw.Write() print '---> ', print "Feed the vertex.vtu file in ParaView/VisIt."