[vtkusers] Adding geometric solid in an existing window
Zampini Samuele
samuele.zampini at epfl.ch
Tue Sep 1 04:19:26 EDT 2009
Hi there,
I have a problem with vtk.
I created a gui and when I press a button (let's say button 1) a cone appear in a window in my gui.
Then, when I press another button, I want that a cube will appear in the same window with the cone. How can I do that?
With my code (see below) I get the cube in a different window.
Could you help?
Thanks a lot,
samuele
======================================================================================================
The code is:
class VmtkInterface:
def __init__(self, img, wTree, *args):
self.subdir = img
# setting window to widget: I don't want to create a new window,
# but I want to use the same window I created in the file vtkcones.py
# self.window = wTree.get_widget("hbox2")
self.vtkWindow = vtkcones.vtkWindow(wTree)
# self.vtkWindow.window = vtkcones.vtkWindow.window()
self.vtkWindow.window.connect("destroy", gtk.mainquit)
self.vtkWindow.window.connect("delete_event", gtk.mainquit)
# defining new Canvas
self.vtkda = vtkcones.Canvas3D(None)
self.vtkda.show()
# adding Canvas to gtk
hbox = gtk.HBox(spacing=5)
hbox.show()
hbox.pack_start(self.vtkda)
self.vtkWindow.window.add(hbox)
self.vtkWindow.window.set_size_request(400, 400)
self.vtkWindow.window.show()
# defining new vmtkRenderer
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
# setting vtkRenderer in vmtkRenderer as a new one
self.vmtkRenderer.Renderer = vtk.vtkRenderer()
# just modify the background to see what we are changing
self.vmtkRenderer.Renderer.SetBackground(.5, .5, .5)
self.vtkda.GetRenderWindow().AddRenderer(self.vmtkRenderer.Renderer)
# setting RenderWindow to the already existing one in vtkda
self.vmtkRenderer.RenderWindow = self.vtkda.GetRenderWindow() #vtkWindow.vtkda.GetRenderWindow()
###
self.vmtkRenderer.RenderWindow.AddRenderer(self.vmtkRenderer.Renderer)
self.vmtkRenderer.RenderWindow.SetSize(self.vmtkRenderer.WindowSize[0],self.vmtkRenderer.WindowSize[1])
self.vmtkRenderer.RenderWindow.SetPointSmoothing(self.vmtkRenderer.PointSmoothing)
self.vmtkRenderer.RenderWindow.SetLineSmoothing(self.vmtkRenderer.LineSmoothing)
self.vmtkRenderer.RenderWindow.SetPolygonSmoothing(self.vmtkRenderer.PolygonSmoothing)
self.vmtkRenderer.RenderWindowInteractor = vtk.vtkGenericRenderWindowInteractor()
self.vmtkRenderer.RenderWindowInteractor.SetRenderWindow(self.vtkda.GetRenderWindow())
self.vmtkRenderer.RenderWindowInteractor.SetInteractorStyle(vtk.vtkInteractorStyleTrackballCamera())
self.vmtkRenderer.RenderWindow.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
More information about the vtkusers
mailing list