Added wxWave Added another patch for SWIG that optimizes the generated code some and eliminates some unused type mappings in the type registry. (Reduces it by about half!) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10218 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			70 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from wxPython.wx import *
 | |
| from wxPython.lib import vtk
 | |
| 
 | |
| #---------------------------------------------------------------------------
 | |
| class VtkFrame(wxFrame):
 | |
|     """
 | |
|         Simple example VTK window that contains a cone.
 | |
|     """
 | |
|     def __init__(self, parent, id, title):
 | |
|         wxFrame.__init__(self, parent,id,title, size=(450, 300))
 | |
|         win = vtk.wxVTKRenderWindow(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)
 | |
| 
 | |
| #---------------------------------------------------------------------------
 | |
| wxEVT_ADD_CONE = 25015
 | |
| 
 | |
| def EVT_ADD_CONE(win, func):
 | |
|     win.Connect(-1, -1, wxEVT_ADD_CONE, func)
 | |
| 
 | |
| 
 | |
| class AddCone(wxPyEvent):
 | |
|     def __init__(self):
 | |
|         wxPyEvent.__init__(self)
 | |
|         self.SetEventType(wxEVT_ADD_CONE)
 | |
| 
 | |
| 
 | |
| class HiddenCatcher(wxFrame):
 | |
|     """
 | |
|         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):
 | |
|         wxFrame.__init__(self, None, -1, '')
 | |
|         EVT_ADD_CONE(self, self.AddCone)
 | |
| 
 | |
|     def AddCone(self,evt):
 | |
|         add_cone()
 | |
| 
 | |
| 
 | |
| #---------------------------------------------------------------------------
 | |
| 
 | |
| class SecondThreadApp(wxApp):
 | |
|     """
 | |
|         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)
 | |
| 
 |