Не могу выбрать BorderWidget с помощью средства выбора vtk - PullRequest
0 голосов
/ 12 июля 2020

Я пытаюсь выбрать 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. почему?

...