Я пытаюсь выбрать BorderWidget
актера, когда по нему щелкают:
import vtk
renderer = vtk.vtkRenderer()
renderWindowInteractor = vtk.vtkRenderWindowInteractor()
def leftButtonPressEvent(obj, event):
print("Event : " + event)
picker = renderWindowInteractor.GetPicker()
try:
picker.GetPickList().InitTraversal()
click_pos = renderWindowInteractor.GetEventPosition()
picker.Pick(click_pos[0], click_pos[1], 0, renderer)
path = picker.GetPath()
if path:
node = path.GetFirstNode()
actor = node.GetViewProp()
if isinstance(actor, (vtk.vtkImageActor, vtk.vtkVolume)):
return
print("Picked Actor : ", actor)
except Exception as e:
print("An Exception Occurred in Picking Event : ", str(e))
finally:
return
renderWindow = vtk.vtkRenderWindow()
renderWindow.SetWindowName("Long Line")
renderWindow.AddRenderer(renderer)
renderWindowInteractor.SetRenderWindow(renderWindow)
box = vtk.vtkBorderWidget()
box.SelectableOn()
box.AddObserver("EndInteractionEvent", leftButtonPressEvent)
box.SetInteractor(renderWindowInteractor)
box.CreateDefaultRepresentation()
renderWindow.Render()
box.On()
renderWindowInteractor.Start()
, но он не может найти никаких путей при нажатии на внутреннюю часть borderwidget
. почему?