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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 860 - (hide annotations)
Thu Sep 28 08:17:29 2006 UTC (14 years, 5 months ago) by jongui
File MIME type: text/x-python
File size: 2660 byte(s)
- added sample drivers on how to use all of the currently available modules.
- completed the epydocs for all the currently available modules.
- added the rotation feature for camera and plane cutting.


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

  ViewVC Help
Powered by ViewVC 1.1.26