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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 835 - (hide annotations)
Mon Sep 4 22:20:28 2006 UTC (14 years, 1 month ago) by jongui
File MIME type: text/x-python
File size: 1745 byte(s)
Added more docstrings and updated the way positions, focal point and view angle are specified.


1 gross 792 """
2 jongui 835 Class that shows a vector field by arrows.
3 gross 792 """
4    
5 jongui 827 import vtk
6 jongui 828 from common import *
7 gross 792
8 jongui 828 class Arrows(Common):
9 jongui 835 """
10     @author: John Ngui
11     @author: Lutz Gross
12     """
13 gross 792
14 jongui 827 def __init__(self, open_scene, data_collector):
15 jongui 835 """
16     @type open_scene: L{OpenScene <openscene.OpenScene>} object
17     @param open_scene: Scene in which components are to be added to
18     @type data_collector: L{DataCollector <datacollector.DataCollector>}
19     object
20     @param data_collector: Source of data for visualization
21     """
22    
23 jongui 828 Common.__init__(self, open_scene, data_collector)
24 jongui 827 self.vtk_glyph = None
25     self.setArrows()
26 jongui 828
27     Common.setMapper(self, "self.vtk_glyph.GetOutput()")
28     Common.setActor(self)
29     Common.addActor(self)
30 jongui 827
31     def setArrows(self):
32 jongui 835 """
33     Set up the glyph and use arrows as the source.
34     """
35    
36 jongui 827 vtk_arrows = vtk.vtkArrowSource()
37    
38     self.vtk_glyph = vtk.vtkGlyph3D()
39     self.vtk_glyph.SetInput(self.data_collector.getReader().GetOutput())
40     self.vtk_glyph.SetSource(vtk_arrows.GetOutput())
41 jongui 835 self.vtk_glyph.SetVectorModeToUseVector() # Default vector mode
42     self.vtk_glyph.SetScaleModeToScaleByVector() # Default scale mode
43     self.setColorMode("Scalar") # Default color mode
44     self.setScaleFactor(0.2) # Default scale factor
45 jongui 828
46     def setScaleFactor(self, scale_factor):
47 jongui 835 """
48     Set the scale factor for the arrows.
49    
50     @type scale_factor: Number
51     @param scale_factor: Scale factor
52     """
53    
54 jongui 828 self.vtk_glyph.SetScaleFactor(scale_factor)
55    
56     def setColorMode(self, color_mode):
57 jongui 835 """
58     Set the color mode for the arrows.
59    
60     @type color_mode: String
61     @param color_mode: Color mode for the arrows (I{Scalar or Vector})
62     """
63    
64 jongui 828 eval("self.vtk_glyph.SetColorModeToColorBy%s()" % color_mode)
65 jongui 827
66 jongui 835 """
67     class ArrowsOnPlane:
68 jongui 827 shows a vector field by arrows on a plane
69     """
70     pass

  ViewVC Help
Powered by ViewVC 1.1.26