mirror of
https://github.com/OpenFOAM/ThirdParty-6.git
synced 2025-12-08 06:57:43 +00:00
59 lines
1.6 KiB
Python
59 lines
1.6 KiB
Python
#!/usr/bin/env python
|
|
"""
|
|
This file demonstrates the creation of a directed graph using the
|
|
Python interface to VTK.
|
|
"""
|
|
|
|
from __future__ import print_function
|
|
from vtk import *
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Script Entry Point
|
|
#------------------------------------------------------------------------------
|
|
if __name__ == "__main__":
|
|
|
|
print("vtkGraph Example 1: Building a vtkMutableDirectedGraph from scratch.")
|
|
|
|
# Create an empty graph
|
|
G = vtkMutableDirectedGraph()
|
|
|
|
# Create an integer array to store vertex id data.
|
|
vertID = vtkIntArray()
|
|
vertID.SetName("ID")
|
|
|
|
# Link the vertex id array into the vertex data of the graph
|
|
G.GetVertexData().AddArray( vertID )
|
|
|
|
# Add some vertices
|
|
for i in range(10):
|
|
G.AddVertex()
|
|
vertID.InsertNextValue(i)
|
|
|
|
# Add some edges in a ring
|
|
for i in range(10):
|
|
G.AddGraphEdge(i, (i+1)%10)
|
|
|
|
#----------------------------------------------------------
|
|
# Draw the graph in a window
|
|
view = vtkGraphLayoutView()
|
|
view.AddRepresentationFromInput(G)
|
|
view.SetVertexLabelArrayName("ID")
|
|
view.SetVertexLabelVisibility(True)
|
|
view.SetLayoutStrategyToSimple2D()
|
|
view.SetVertexLabelFontSize(20)
|
|
|
|
theme = vtkViewTheme.CreateMellowTheme()
|
|
theme.SetLineWidth(4)
|
|
theme.SetPointSize(10)
|
|
theme.SetCellOpacity(1)
|
|
view.ApplyViewTheme(theme)
|
|
theme.FastDelete()
|
|
|
|
view.GetRenderWindow().SetSize(600, 600)
|
|
view.ResetCamera()
|
|
view.Render()
|
|
|
|
view.GetInteractor().Start()
|
|
|
|
print("vtkGraph Example 1: Finished.")
|