VTK/Examples/Python/Interaction/MouseEvents
From KitwarePublic
This example creates a new vtkInteractorStyle which can be used to implement custom reactions on user events. If you just want to disable single events you can also have a look at VTK/Examples/Python/Interaction/MouseEventsObserver. This specific example just prints a simple message and then calls the original eventhandler of the vtkInteractorStyleTrackballCamera.
MouseEvents.py
import vtk class MyInteractorStyle(vtk.vtkInteractorStyleTrackballCamera): def __init__(self,parent=None): self.AddObserver("MiddleButtonPressEvent",self.middleButtonPressEvent) self.AddObserver("MiddleButtonReleaseEvent",self.middleButtonReleaseEvent) def middleButtonPressEvent(self,obj,event): print "Middle Button pressed" self.OnMiddleButtonDown() return def middleButtonReleaseEvent(self,obj,event): print "Middle Button released" self.OnMiddleButtonUp() return source = vtk.vtkSphereSource() source.SetCenter(0,0,0) source.SetRadius(1) source.Update() mapper = vtk.vtkPolyDataMapper() mapper.SetInputConnection(source.GetOutputPort()) actor = vtk.vtkActor() actor.SetMapper(mapper) renderer = vtk.vtkRenderer() renderer.SetBackground(1,1,1) renderer.AddActor(actor) renwin = vtk.vtkRenderWindow() renwin.AddRenderer(renderer) interactor = vtk.vtkRenderWindowInteractor() interactor.SetInteractorStyle(MyInteractorStyle()) interactor.SetRenderWindow(renwin) interactor.Initialize() interactor.Start()
