File: TestExodusPolyhedra.py

package info (click to toggle)
paraview 5.11.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 497,236 kB
  • sloc: cpp: 3,171,290; ansic: 1,315,072; python: 134,290; xml: 103,324; sql: 65,887; sh: 5,286; javascript: 4,901; yacc: 4,383; java: 3,977; perl: 2,363; lex: 1,909; f90: 1,255; objc: 143; makefile: 119; tcl: 59; pascal: 50; fortran: 29
file content (62 lines) | stat: -rwxr-xr-x 1,758 bytes parent folder | download | duplicates (10)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/usr/bin/env python

from vtk import *
from vtk.util.misc import vtkGetDataRoot
VTK_DATA_ROOT = vtkGetDataRoot()

rdr = vtkExodusIIReader()
rdr.SetFileName(str(VTK_DATA_ROOT) + "/Data/dodecahedron.exo")
rdr.Update()

tfm = vtkTransformFilter()
xfm = vtkTransform()
xfm.Translate(1.5, 0.5, 0.5)
xfm.Scale(0.1, 0.1, 0.1)
tfm.SetInputData(rdr.GetOutput().GetBlock(0).GetBlock(0))
tfm.SetTransform(xfm)
tfm.Update()

rd2 = vtkExodusIIReader()
rd2.SetFileName(str(VTK_DATA_ROOT) + "/Data/cube-1.exo")
rd2.Update()

shr = vtkShrinkFilter()
shr.SetInputData(rd2.GetOutput().GetBlock(0).GetBlock(0))
shr.Update()

ph = rdr.GetOutput().GetBlock(0).GetBlock(0).GetCell(0)
print('%d polyhedral faces' % ph.GetNumberOfFaces())
if ph.GetNumberOfFaces() != 12:
  sys.exit(1)
for i in range(ph.GetNumberOfFaces()):
  pg = ph.GetFace(i)
  if pg.GetNumberOfEdges() != 5 or pg.GetNumberOfPoints() != 5:
    print('  %d edges on face %d' % (pg.GetNumberOfEdges(), i))
    print('  %d points on face %d' % (pg.GetNumberOfPoints(), i))
    sys.exit(1)
  #for j in range(pg.GetNumberOfPoints()):
  #  pid = pg.GetPointId(j)
  #  x = [0.0,0.0,0.0]
  #  pg.GetPoints().GetPoint(pid, x)
  #  print('   p%02d: %g %g %g' % (pid, x[0], x[1], x[2]))

renWin = vtkRenderWindow()
ri = vtkRenderWindowInteractor()
rr = vtkRenderer()
ac = vtkActor()
dm = vtkDataSetMapper()
ac.SetMapper(dm)
dm.SetInputData(tfm.GetOutput())
rr.AddActor(ac)
a2 = vtkActor()
d2 = vtkDataSetMapper()
a2.SetMapper(d2)
d2.SetInputData(shr.GetOutput())
rr.AddActor(a2)
renWin.AddRenderer(rr)
renWin.SetInteractor(ri)
rr.GetActiveCamera().SetPosition(2.09, 1.419, 3.32)
rr.GetActiveCamera().SetFocalPoint(0.838, 0.431, 0.431)
rr.GetActiveCamera().SetViewUp(0.0820, 0.934, -0.348)
rr.ResetCamera()
renWin.Render()