/[escript]/trunk/pyvisi/py_src/scene.py
ViewVC logotype

Contents of /trunk/pyvisi/py_src/scene.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 852 - (show annotations)
Wed Sep 20 03:23:16 2006 UTC (16 years, 6 months ago) by jongui
File MIME type: text/x-python
File size: 2300 byte(s)
added carpet and isosurface


1 """
2 @author: John Ngui
3 @author: Lutz Gross
4 """
5
6 import vtk
7 from constants import *
8
9 class Scene:
10 """
11 Class that defines a scene in which components are displayed.
12 """
13
14 def __init__(self, renderer, x_size = 800, y_size = 600):
15 """
16 Initialize all the instance variables.
17
18
19 @type renderer: String
20 @param renderer: Type of rendering (I{vtk-online or vtk-offline})
21 @type x_size: Number
22 @param x_size: Size of the rendering window on the x-axis
23 @type y_size: Number
24 @param y_size: Size of the rendering window on the y-axis
25 """
26
27 self.renderer = renderer
28 self.x_size = x_size
29 self.y_size = y_size
30 self.vtk_renderer = vtk.vtkRenderer()
31 self.vtk_render_window = vtk.vtkRenderWindow()
32
33 self.setRenderWindow()
34
35 def saveImage(self, image_name):
36 self.vtk_render_window.Render()
37
38 vtk_window_to_image = vtk.vtkWindowToImageFilter()
39 vtk_window_to_image.SetInput(self.vtk_render_window)
40 vtk_window_to_image.Update()
41
42 vtk_image_writer = self.getImageWriter(self.renderer)
43 vtk_image_writer.SetInput(vtk_window_to_image.GetOutput())
44 vtk_image_writer.SetFileName(image_name)
45 vtk_image_writer.Write()
46
47
48 def setRenderWindow(self):
49 """
50 Set up the renderer and rendering window.
51 """
52
53 self.vtk_render_window.AddRenderer(self.vtk_renderer)
54 self.vtk_render_window.SetSize(self.x_size, self.y_size)
55 self.vtk_renderer.SetBackground(
56 WHITE[0], WHITE[1], WHITE[2])
57
58 def render(self):
59 """
60 Set up the render window interactor and render the image.
61 """
62
63 vtk_render_window_interactor = vtk.vtkRenderWindowInteractor()
64 vtk_render_window_interactor.SetRenderWindow(self.vtk_render_window)
65 vtk_render_window_interactor.Initialize()
66 self.vtk_render_window.Render()
67 vtk_render_window_interactor.Start()
68
69
70 def getImageWriter(self, renderer):
71 if(renderer == "vtk_jpeg"):
72 return vtk.vtkJPEGWriter()
73 elif(renderer == "vtk_bmp"):
74 return vtk.vtkBMPWriter()
75 elif(renderer == "vtk_pnm"):
76 return vtk.vtkPNMWriter()
77 elif(renderer == "vtk_png"):
78 return vtk.vtkPNGWriter()
79 elif(renderer == "vtk_tiff"):
80 return vtk.vtkTIFFWriter()
81 elif(renderer == "vtk_ps"):
82 return vtk.vtkPostScriptWriter()
83
84 def getRenderer(self):
85 """
86 Return the renderer.
87
88 @rtype: vtkRenderer
89 @return: VTK renderer
90 """
91
92 return self.vtk_renderer

  ViewVC Help
Powered by ViewVC 1.1.26