def main
Gtk.init
Gtk::GL.init
window = Gtk::Window.new(Gtk::Window::TOPLEVEL)
window.set_title("A GtkVTKRenderWindow Demo!")
window.signal_connect("destroy"){ gtk.main_quit }
window.signal_connect("delete_event"){ gtk.main_quit }
window.set_border_width(10)
vbox = Gtk::VBox.new(false, 3)
window.add(vbox)
vbox.show
gvtk = GtkGLExtVTKRenderWindowInteractor.new
gvtk.set_size_request(400, 400)
vbox.pack_start(gvtk)
gvtk.show
gvtk.Initialize
gvtk.Start
exit = Proc.new{|obj, event, x|
x
}
cone = Vtk::ConeSource.new
cone.SetResolution(80)
coneMapper = Vtk::PolyDataMapper.new
coneMapper.SetInput(cone.GetOutput)
coneActor = Vtk::Actor.new
coneActor.SetMapper(coneMapper)
coneActor.GetProperty.SetColor(0.5, 0.5, 1.0)
ren = Vtk::Renderer.new
gvtk.GetRenderWindow.AddRenderer(ren)
ren.AddActor(coneActor)
quit = Gtk::Button.new("Quit!")
quit.signal_connect("clicked"){ Gtk.main_quit }
vbox.pack_start(quit)
quit.show
window.show
Gtk.main
end