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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1197 - (hide annotations)
Mon Jun 18 02:08:34 2007 UTC (12 years, 1 month ago) by jongui
File MIME type: text/x-python
File size: 4998 byte(s)
Update the way movies are generated. Please refer to the examples. 

The user can now either specify the image range(first and last images inclusive):
mov.imageRange(input_directory = PYVISI_EXAMPLE_IMAGES_PATH,
        first_image = IMAGE_NAME + "000938.jpg",
		last_image = IMAGE_NAME + "000948.jpg")
mov.makeMovie(os.path.join(PYVISI_EXAMPLE_IMAGES_PATH, "movie.mpg"))

or the user can specify a list of images:

lst = ['image1.jpg', 'image5.jpg', 'image7.jpg]
mov.imageList(input_directory = PYVISI_EXAMPLE_IMAGES_PATH, image_list = lst)
mov.makeMovie(os.path.join(PYVISI_EXAMPLE_IMAGES_PATH, "movie.mpg"))


1 ksteube 1147 """
2 jongui 1197 @var __author__: name of author
3     @var __copyright__: copyrights
4     @var __license__: licence agreement
5     @var __url__: url entry point on documentation
6     @var __version__: version
7     @var __date__: date of the version
8 ksteube 1147 """
9    
10 jongui 1197 __author__="John Ngui, john.ngui@uq.edu.au"
11     __copyright__=""" Copyright (c) 2006 by ACcESS MNRF
12     http://www.access.edu.au
13     Primary Business: Queensland, Australia"""
14     __license__="""Licensed under the Open Software License version 3.0
15     http://www.opensource.org/licenses/osl-3.0.php"""
16     __url__="http://www.iservo.edu.au/esys"
17     __version__="$Revision$"
18     __date__="$Date$"
19    
20    
21 ksteube 1147 import vtk
22    
23     class Glyph3D:
24     """
25     Class that defines 3D glyphs.
26     """
27    
28 jongui 1148 def __init__(self):
29 ksteube 1147 """
30     Initialise the 3D glyph.
31 jongui 1148 """
32 ksteube 1147
33 jongui 1148 self.__vtk_glyph3D = vtk.vtkGlyph3D()
34    
35     def _setupGlyph3D(self, object, source):
36     """
37     Setup the 3D glyph.
38    
39 ksteube 1147 @type object: vtkDataSet, etc
40     @param object: Input for the 3D glyph
41     @type source: vtkPolyData
42     @param source: Source for the 3D glyph (i.e. Arrow2D, Arrow3D, etc)
43     """
44    
45     self.__object = object
46     self.__source = source
47    
48     self.__setInput()
49     self.__setSource()
50     self.setScaleModeByVector()
51     self.__setVectorModeByVector()
52     self.__setClampingOn()
53    
54     self.__setScalingOn()
55     self.__setOrientOn()
56    
57     def __setInput(self):
58     """
59     Set the input for the 3D glyph.
60     """
61    
62     self.__vtk_glyph3D.SetInput(self.__object)
63    
64     def __setSource(self):
65     """
66     Set the source for the 3D glyph.
67     """
68    
69     self.__vtk_glyph3D.SetSource(self.__source)
70    
71     def setScaleModeByVector(self):
72     """
73     Set the 3D glyph to scale according to the vector.
74     """
75    
76     self.__vtk_glyph3D.SetScaleModeToScaleByVector()
77    
78     def setScaleModeByScalar(self):
79     """
80     Set the 3D glyph to scale according to the scalar.
81     """
82    
83     self.__vtk_glyph3D.SetScaleModeToScaleByScalar()
84    
85     def _setColorModeByVector(self):
86     """
87     Set the 3D glyph to color according to the vector.
88     """
89    
90     self.__vtk_glyph3D.SetColorModeToColorByVector()
91    
92     def _setColorModeByScalar(self):
93     """
94     Set the 3D glyph to color according to the scalar.
95     """
96    
97     self.__vtk_glyph3D.SetColorModeToColorByScalar()
98    
99     def __setVectorModeByVector(self):
100     """
101     Set the 3D glyph vector mode according to the vector.
102     """
103    
104     self.__vtk_glyph3D.SetVectorModeToUseVector()
105    
106     def setScaleFactor(self, scale_factor):
107     """
108     Set the 3D glyph scale factor.
109    
110     @type scale_factor: Number
111     @param scale_factor: Scale factor
112     """
113    
114     self.__vtk_glyph3D.SetScaleFactor(scale_factor)
115    
116     def __setClampingOn(self):
117     """
118     Enable clamping of "scalar" values to range.
119     """
120    
121     self.__vtk_glyph3D.SetClamping(1)
122    
123     def __setScalingOn(self):
124     """
125     Enable the scaling of the rendered object.
126     """
127    
128     self.__vtk_glyph3D.ScalingOn()
129    
130     def __setOrientOn(self):
131     """
132     Enable the orientation of the rendered object along the vector/normal.
133     """
134    
135     self.__vtk_glyph3D.OrientOn()
136    
137     def _setRange(self, range):
138     """
139     Set the range to map scalar values.
140    
141     @type range: Two column tuple containing numbers
142     @param range: Range to map scalar values
143     """
144    
145     self.__vtk_glyph3D.SetRange(range)
146    
147     def _getGlyph3D(self):
148     """
149     Return the 3D glyph.
150    
151     @rtype: vtkGlyph3D
152     @return: 3D glyph
153     """
154    
155     return self.__vtk_glyph3D
156    
157 jongui 1148 def _getGlyph3DOutput(self):
158 ksteube 1147 """
159     Return the output of the 3D glyph.
160    
161     @rtype: vtkPolyData
162     @return Polygonal data
163     """
164    
165     return self.__vtk_glyph3D.GetOutput()
166    
167    
168     ###############################################################################
169    
170    
171     class TensorGlyph:
172     """
173     Class that defines tensor glyphs.
174     """
175    
176 jongui 1148 def __init__(self):
177 ksteube 1147 """
178     Initialise the tensor glyph.
179 jongui 1148 """
180 ksteube 1147
181 jongui 1148 self.__vtk_tensor_glyph = vtk.vtkTensorGlyph()
182    
183     def _setupTensorGlyph(self, object, source):
184     """
185     Setup the tensor glyph.
186    
187 ksteube 1147 @type object: vtkDataSet, etc
188     @param object: Input for the 3D glyph
189     @type source: vtkPolyData
190     @param source: Source for the 3D glyph (i.e. Sphere, etc)
191     """
192    
193     self.__object = object
194     self.__source = source
195    
196     self.__setInput()
197     self.__setSource()
198     self.__vtk_tensor_glyph.ClampScalingOn()
199    
200     def __setInput(self):
201     """
202     Set the input for the tensor glyph.
203     """
204    
205     self.__vtk_tensor_glyph.SetInput(self.__object)
206    
207     def __setSource(self):
208     """
209     Set the source for the tensor glyph.
210     """
211    
212     self.__vtk_tensor_glyph.SetSource(self.__source)
213    
214     def setScaleFactor(self, scale_factor):
215     """
216     Set the scale factor for the tensor glyph.
217    
218     @type scale_factor: Number
219     @param scale_factor: Scale factor
220     """
221    
222     self.__vtk_tensor_glyph.SetScaleFactor(scale_factor)
223    
224     def setMaxScaleFactor(self, max_scale_factor):
225     """
226     Set the maximum allowable scale factor for the tensor glyph.
227    
228     @type max_scale_factor: Number
229     @param max_scale_factor: Maximum allowable scale factor.
230     """
231    
232     self.__vtk_tensor_glyph.SetMaxScaleFactor(max_scale_factor)
233    
234 jongui 1148 def _getTensorGlyphOutput(self):
235 ksteube 1147 """
236     Return the output of the tensor glyph.
237    
238     @rtype: vtkPolyData
239     @return: Polygonal data
240     """
241    
242     return self.__vtk_tensor_glyph.GetOutput()
243    

  ViewVC Help
Powered by ViewVC 1.1.26