+++ /dev/null
-# 11/15/2003 - Jeff Grimmett (grimmtooth@softhome.net)
-#
-# o Updated for wx namespace
-# o No idea what this does.
-#
-
-import wx
-import wx.lib.vtk as vtk
-
-#---------------------------------------------------------------------------
-class VtkFrame(wx.Frame):
- """
- Simple example VTK window that contains a cone.
- """
- def __init__(self, parent, id, title):
- wx.Frame.__init__(self, parent, id, title, size=(450, 300))
- win = vtk.VTKRenderWindow(self, -1)
-
- renWin = win.GetRenderWindow()
-
- ren = vtk.vtkRenderer()
- renWin.AddRenderer(ren)
- cone = vtk.vtkConeSource()
- coneMapper = vtk.vtkPolyDataMapper()
- coneMapper.SetInput(cone.GetOutput())
- coneActor = vtk.vtkActor()
- coneActor.SetMapper(coneMapper)
- ren.AddActor(coneActor)
-
-#---------------------------------------------------------------------------
-# Using new event binder
-wx_EVT_ADD_CONE = wx.NewEventType()
-EVT_ADD_CONE = wx.PyEventBinder(wx_EVT_ADD_CONE, 1)
-
-class AddCone(wx.PyEvent):
- def __init__(self):
- wx.PyEvent.__init__(self)
- self.SetEventType(wx_EVT_ADD_CONE)
-
-
-class HiddenCatcher(wx.Frame):
- """
- The "catcher" frame in the second thread.
- It is invisible. It's only job is to receive
- Events from the main thread, and create
- the appropriate windows.
- """
- def __init__(self):
- wx.Frame.__init__(self, None, -1, '')
- self.Bind(EVT_ADD_CONE, self.AddCone)
-
- def AddCone(self,evt):
- add_cone()
-
-
-#---------------------------------------------------------------------------
-
-class SecondThreadApp(wx.App):
- """
- wxApp that lives in the second thread.
- """
- def OnInit(self):
- catcher = HiddenCatcher()
- #self.SetTopWindow(catcher)
- self.catcher = catcher
- return True
-
-#---------------------------------------------------------------------------
-
-def add_cone():
- frame = VtkFrame(None, -1, "Cone")
- frame.Show(True)
-