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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 879 - (show annotations)
Wed Oct 25 03:56:34 2006 UTC (13 years ago) by jongui
File MIME type: text/x-python
File size: 2758 byte(s)
First prototype of pyvisi is almost done (testing to be done). 
Added all the epydocs and latex files.

1 """
2 @author: John Ngui
3 @author: Lutz Gross
4 """
5
6 import vtk
7
8 class Common:
9 """
10 Class that defines the common operations invoked by the components.
11 """
12
13 def __init__(self, scene, data_collector = None):
14 """
15 @type scene: L{Scene <scene.Scene>} object
16 @param scene: Scene in which components are to be added to
17 @type data_collector: L{DataCollector <datacollector.DataCollector>}
18 object
19 @param data_collector: Source of data for visualization
20 """
21
22 self.scene = scene
23 self.data_collector = data_collector
24 self.vtk_mapper = vtk.vtkDataSetMapper()
25 self.vtk_actor = vtk.vtkActor()
26
27 def setMapperInput(self, component, lut = None):
28 """
29 Set up the mapper.
30 @type component: String
31 @param component: Component to be mapped
32 @type lut: L{BlueToRed <colormap.BlueToRed>} or
33 L{RedToBlue <colormap.RedToBlue>} object
34 @param lut: Lookup table to be used by the mapper
35 """
36
37 # Convert unstructured grid data to polygonal data.
38 vtk_geometry = vtk.vtkGeometryFilter()
39 vtk_geometry.SetInput(component)
40
41 # Compute normals to ensure consistent orientation across neighbours.
42 # This results in a better object being rendered.
43 #vtk_normals = vtk.vtkPolyDataNormals()
44 #vtk_normals.SetInput(vtk_geometry.GetOutput())
45
46 #self.vtk_mapper.SetInput(vtk_normals.GetOutput())
47 #self.vtk_mapper.SetInput(vtk_geometry.GetOutput())
48 self.vtk_mapper.SetInput(component)
49
50
51 # Mapper uses the customized lookup table only if it is specified.
52 # Otherwise, the default one is used.
53 if(lut != None):
54 self.vtk_mapper.SetLookupTable(lut.getLut())
55
56 def setActorTexture(self, texture):
57 """
58 Set the texture of the actor.
59 @type texture: vtkTexture
60 @param texture: Texture map of the image
61 """
62
63 self.vtk_actor.SetTexture(texture)
64
65 def setActorInput(self):
66 """
67 Set up the actor.
68 """
69
70 self.vtk_actor.SetMapper(self.vtk_mapper)
71
72
73 def addActor(self):
74 """
75 Add the actor to the renderer.
76 """
77
78 self.scene.getRenderer().AddActor(self.vtk_actor)
79
80 def setActorOpacity(self, opacity):
81 """
82 Set the opacity (transparency) of the actor.
83 @type opacity: Number
84 @param opacity: Opacity (transparency) of the actor
85 """
86
87 self.vtk_actor.GetProperty().SetOpacity(opacity)
88
89 def setActorColor(self, color):
90 """
91 Set the color of the actor.
92 @type color: RGB list
93 @param color: Color of the actor
94 """
95
96 self.vtk_actor.GetProperty().SetColor(color[0], color[1],
97 color[2])
98
99 def setActorRepresentation(self, representation):
100 """
101 Set the representation of the actor.
102 @type representation: String
103 @param representation: Actor representation type (I{i.e. Wireframe})
104 """
105
106 eval("self.vtk_actor.GetProperty().SetRepresentationTo%s()" %
107 representation)
108
109
110 class Component:
111 pass

  ViewVC Help
Powered by ViewVC 1.1.26