This works fine in vtk8 but fails in vtk9 for objects with opacity < 1:
import vtk
cone = vtk.vtkConeSource()
coneMapper = vtk.vtkPolyDataMapper()
coneMapper.SetInputConnection(cone.GetOutputPort())
coneActor = vtk.vtkFollower()
coneActor.SetMapper(coneMapper)
coneActor.GetProperty().SetOpacity(0.5) # BUG
ren = vtk.vtkRenderer()
ren.AddActor(coneActor)
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(ren)
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
def myCallback(iren, event_string):
x, y = iren.GetEventPosition()
picker = vtk.vtkPropPicker()
picker.PickProp(x, y, ren)
print('clicked', [picker.GetActor()])
iren.AddObserver("LeftButtonPressEvent", myCallback)
iren.Initialize()
iren.Start()
vtk8.1.2:
clicked [(vtkmodules.vtkRenderingCore.vtkFollower)0x7fad9af27b40]
vtk9.0.1:
clicked [None]