[vtkusers] giving renderwindow a name
Bryan P. Conrad
conrabp at ortho.ufl.edu
Tue Jan 5 17:22:54 EST 2010
I have only done this in python, not C++, but I think the trick is to use the method "SetWindowName" and it has to be called *after* the renderWindow is rendered the first time. See the python code below (copied from David's C++ example), for a version that works on my machine.
import vtk
def main():
#Create a sphere
sphereSource = vtk.vtkSphereSource()
sphereSource.SetCenter(0.0, 0.0, 0.0)
sphereSource.SetRadius(5)
#Create a mapper and actor
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(sphereSource.GetOutputPort())
actor = vtk.vtkActor()
actor.SetMapper(mapper)
# Setup a renderer, render window, and interactor
renderer = vtk.vtkRenderer()
renderWindow = vtk.vtkRenderWindow()
#renderWindow.SetWindowName("Test")
renderWindow.AddRenderer(renderer);
renderWindowInteractor = vtk.vtkRenderWindowInteractor()
renderWindowInteractor.SetRenderWindow(renderWindow)
#Add the actor to the scene
renderer.AddActor(actor)
renderer.SetBackground(1,1,1) # Background color white
#Render and interact
renderWindow.Render()
#*** SetWindowName after renderWindow.Render() is called***
renderWindow.SetWindowName("Test")
renderWindowInteractor.Start()
if __name__ == '__main__':
main()
____________________________
Bryan P. Conrad, Ph.D.
Senior Engineer
Department of Orthopaedics and Rehabilitation
University of Florida
PO Box 112727
Gainesville, FL 32611
Phone: 352.273.7412
Fax: 352.273.7407
-----Original Message-----
From: vtkusers-bounces at vtk.org [mailto:vtkusers-bounces at vtk.org] On Behalf Of David Doria
Sent: Tuesday, January 05, 2010 2:07 PM
Cc: vtkusers at vtk.org
Subject: Re: [vtkusers] giving renderwindow a name
On Tue, Jan 5, 2010 at 11:25 AM, michiel mentink
<michael.mentink at st-hughs.ox.ac.uk> wrote:
> I'm trying to give a renderwindow a title.
>
> I'm using the following code to create a window. So far so good.
>
> // create a renderer
> vtkSmartPointer<vtkRenderer> renderer =
> vtkSmartPointer<vtkRenderer>::New();
> renderer->AddActor(actor);
>
> // create a render window
> vtkSmartPointer<vtkRenderWindow> renwin =
> vtkSmartPointer<vtkRenderWindow>::New();
> renwin->AddRenderer(renderer);
>
>
> // create an interactor
> vtkSmartPointer<vtkRenderWindowInteractor> iren =
> vtkSmartPointer<vtkRenderWindowInteractor>::New();
> iren->SetRenderWindow(renwin);
> renwin->SetSize(640, 480);
>
> iren->Initialize();
> iren->Start();
>
>
> ///////////end code////////
>
> Before iren->initialize, I tried the following:
>
> iren->SetWindowInfo( "window1" );
> renwin->SetWindowInfo( "window1");
>
> and also ->SetWindowId("window1");
> and ->SetWindowName("window1");
>
> but it keeps giving me error messages upon compiling:
>
> 'class vtkRenderWindowInteractor' has no member named 'SetWindowInfo'
> or
> error: 'renWin' was not declared in this scope
>
>
> It's probably a simple mistake, but I'm still beginning to understand VTK.
> Can anybody point me in the right direction?
>
> Kind regards, Michael
>
>
I setup an example if anyone cares to play with it to get it to work:
http://www.cmake.org/Wiki/VTK/Examples/WindowTitle
Thanks,
David
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
Follow this link to subscribe/unsubscribe:
http://www.vtk.org/mailman/listinfo/vtkusers
More information about the vtkusers
mailing list