MouseEvents
VTKExamples/Python/Interaction/MouseEvents
Description
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 . This specific example just prints a simple message and then calls the original eventhandler of the vtkInteractorStyleTrackballCamera.
Code
MouseEvents.py
#!/usr/bin/env python
from __future__ import print_function
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()