I am using SetInterpolationToFlat
, but I find it do not work.
The code to reproduce my question is:
import vtkmodules.all as vtk
nodes = [
[ 3.56000000e+02, 2.56000000e+02, 0.00000000e+00],
[ 1.56000000e+02, 1.56000000e+02, 1.22464676e-14],
[ 1.56000000e+02, 2.06000000e+02, -8.66025391e+01],
[ 1.56000000e+02, 3.06000000e+02, -8.66025391e+01],
[ 1.56000000e+02, 3.56000000e+02, -2.44929351e-14],
[ 1.56000000e+02, 3.06000000e+02, 8.66025391e+01],
[ 1.56000000e+02, 2.06000000e+02, 8.66025391e+01]
]
elem = [
[4, 0, 5, 3],
[1, 2, 6, 0],
[2, 5, 0, 3],
[2, 5, 6, 0]
]
polydata = vtk.vtkPolyData()
points = vtk.vtkPoints()
for p in nodes:
points.InsertNextPoint(p[0], p[1], p[2])
polys = vtk.vtkCellArray()
for e in elem:
polys.InsertNextCell(len(e), list(e))
polydata.SetPoints(points)
polydata.SetPolys(polys)
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputData(polydata)
actor = vtk.vtkActor()
actor.SetMapper(mapper)
actor.GetProperty().LightingOff()
actor.GetProperty().SetInterpolationToFlat()
actor.GetProperty().SetOpacity(0.3)
renderer = vtk.vtkRenderer()
renderer.AddActor(actor)
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(renderer)
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
iren.Initialize()
iren.Start()
The result is:
I hope the following result:
Ang suggestion is appreciated~~~