vtkmodules.gtk.GtkGLExtVTKRenderWindow#

Description:

This provides a VTK widget for pyGtk. This embeds a vtkRenderWindow inside a GTK widget. This is based on GtkVTKRenderWindow.py.

The extensions here allow the use of gtkglext rather than gtkgl and pygtk-2 rather than pygtk-0. It requires pygtk-2.0.0 or later.

There is a working example at the bottom.

Credits:

John Hunter jdhunter@ace.bsd.uchicago.edu developed and tested this code based on VTK’s GtkVTKRenderWindow.py and extended it to work with pygtk-2.0.0.

License:

VTK license.

Module Contents#

Classes#

GtkGLExtVTKRenderWindowBase

A base class that enables one to embed a vtkRenderWindow into a pyGTK widget. This class embeds the RenderWindow correctly. Provided are some empty methods that can be overloaded to provide a user defined interaction behaviour. The event handling functions have names that are somewhat similar to the ones in the vtkInteractorStyle class included with VTK.

GtkGLExtVTKRenderWindow

An example of a fully functional GtkGLExtVTKRenderWindow that is based on the vtkRenderWidget.py provided with the VTK sources.

Functions#

API#

class vtkmodules.gtk.GtkGLExtVTKRenderWindow.GtkGLExtVTKRenderWindowBase(*args)#

Bases: gtk.gtkgl.DrawingArea

A base class that enables one to embed a vtkRenderWindow into a pyGTK widget. This class embeds the RenderWindow correctly. Provided are some empty methods that can be overloaded to provide a user defined interaction behaviour. The event handling functions have names that are somewhat similar to the ones in the vtkInteractorStyle class included with VTK.

Initialization

ConnectSignals()#
GetRenderWindow()#
GetRenderer()#
SetDesiredUpdateRate(rate)#

Mirrors the method with the same name in vtkRenderWindowInteractor.

GetDesiredUpdateRate()#

Mirrors the method with the same name in vtkRenderWindowInteractor.

SetStillUpdateRate(rate)#

Mirrors the method with the same name in vtkRenderWindowInteractor.

GetStillUpdateRate()#

Mirrors the method with the same name in vtkRenderWindowInteractor.

Render()#
OnRealize(*args)#
Created()#
OnConfigure(widget, event)#
OnExpose(*args)#
OnDestroy(*args)#
OnButtonDown(wid, event)#

Mouse button pressed.

OnButtonUp(wid, event)#

Mouse button released.

OnMouseMove(wid, event)#

Mouse has moved.

OnEnter(wid, event)#

Entering the vtkRenderWindow.

OnLeave(wid, event)#

Leaving the vtkRenderWindow.

OnKeyPress(wid, event)#

Key pressed.

OnKeyRelease(wid, event)#

Key released.

class vtkmodules.gtk.GtkGLExtVTKRenderWindow.GtkGLExtVTKRenderWindow(*args)#

Bases: vtkmodules.gtk.GtkGLExtVTKRenderWindow.GtkGLExtVTKRenderWindowBase

An example of a fully functional GtkGLExtVTKRenderWindow that is based on the vtkRenderWidget.py provided with the VTK sources.

Initialization

OnButtonDown(wid, event)#
OnButtonUp(wid, event)#
OnMouseMove(wid, event=None)#
OnEnter(wid, event=None)#
OnKeyPress(wid, event=None)#
GetZoomFactor()#
SetZoomFactor(zf)#
GetPicker()#
Render()#
UpdateRenderer(x, y)#

UpdateRenderer will identify the renderer under the mouse and set up _CurrentRenderer, _CurrentCamera, and _CurrentLight.

GetCurrentRenderer()#
GetCurrentCamera()#
StartMotion(wid, event=None)#
EndMotion(wid, event=None)#
Rotate(x, y)#
Pan(x, y)#
Zoom(x, y)#
Reset()#
Wireframe()#
Surface()#
PickActor(x, y)#
vtkmodules.gtk.GtkGLExtVTKRenderWindow.main()#