/[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 839 - (hide annotations)
Wed Sep 6 04:53:50 2006 UTC (14 years, 1 month ago) by jongui
File MIME type: text/x-python
File size: 1716 byte(s)
- Added lookup table spectrum from blue to red and red to blue.
- Updated open scene to scene

1 gross 792 """
2 jongui 839 @author: John Ngui
3     @author: Lutz Gross
4 gross 792 """
5    
6 jongui 827 import vtk
7 jongui 828 from common import *
8 gross 792
9 jongui 828 class Arrows(Common):
10 jongui 835 """
11 jongui 839 Class that shows a vector field by arrows.
12 jongui 835 """
13 gross 792
14 jongui 839 def __init__(self, scene, data_collector):
15 jongui 835 """
16 jongui 839 @type scene: L{OpenScene <scene.Scene>} object
17     @param scene: Scene in which components are to be added to
18 jongui 835 @type data_collector: L{DataCollector <datacollector.DataCollector>}
19     object
20     @param data_collector: Source of data for visualization
21     """
22    
23 jongui 839 Common.__init__(self, 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