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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 792 by gross, Fri Jul 28 10:37:16 2006 UTC revision 849 by jongui, Fri Sep 15 07:11:55 2006 UTC
# Line 1  Line 1 
1  """  """
2  class that shows a vector field by arrows  @author: John Ngui
3    @author: Lutz Gross
 @var __author__: name of author  
 @var __license__: licence agreement  
 @var __copyright__: copyrights  
 @var __url__: url entry point on documentation  
 @var __version__: version  
 @var __date__: date of the version  
4  """  """
5  __copyright__="""  Copyright (c) 2006 by ACcESS MNRF  
6                      http://www.access.edu.au  import vtk
7                  Primary Business: Queensland, Australia"""  from common import Common
8  __license__="""Licensed under the Open Software License version 3.0  
9               http://www.opensource.org/licenses/osl-3.0.php"""  class Arrows(Common):
10  __author__="Paul Cochrane, L. Gross"      """
11  __url__="http://www.iservo.edu.au/esys"      Class that shows a vector field by arrows.
12  __version__="$Revision:$"      """
13  __date__="$Date:$"  
14        def __init__(self, scene, data_collector, lut = None):
15  from common import Component          """
16            @type scene: L{Scene <scene.Scene>} object
17  class Arrows(Component):          @param scene: Scene in which components are to be added to
18      """          @type data_collector: L{DataCollector <datacollector.DataCollector>}
19      shows a vector field by arrows              object
20      """          @param data_collector: Source of data for visualization        
21      pass          """
22    
23  class ArrowsOnPlane(Component):          Common.__init__(self, scene, data_collector)
24      """          self.vtk_glyph = vtk.vtkGlyph3D()
25      shows a vector field by arrows on a plane          self.setArrows()
26      """  
27      pass          Common.setMapperInput(self, self.vtk_glyph.GetOutput(), lut)
28            Common.setActorInput(self)
29            Common.addActor(self)      
30        
31        def setArrows(self):
32            """
33            Set up the glyph and use arrows as the source.
34            """
35    
36            vtk_arrows = vtk.vtkArrowSource()
37            
38            self.vtk_glyph.SetInput(self.data_collector.getReader().GetOutput())
39            self.vtk_glyph.SetSource(vtk_arrows.GetOutput())
40            self.setVectorMode("Vector")
41            self.setScaleMode("Vector")
42            self.setColorMode("Scalar")
43            self.setScaleFactor(0.3)
44    
45        def setVectorMode(self, vector_mode):
46            eval("self.vtk_glyph.SetVectorModeToUse%s" % vector_mode)
47    
48        def setScaleMode(self, scale_mode):
49            eval("self.vtk_glyph.SetScaleModeToScaleBy%s" % scale_mode)
50    
51        def setScaleFactor(self, scale_factor):
52            """
53            Set the scale factor for the arrows.
54    
55            @type scale_factor: Number
56            @param scale_factor: Scale factor
57            """
58    
59            self.vtk_glyph.SetScaleFactor(scale_factor)
60    
61        def setColorMode(self, color_mode):
62            """
63            Set the color mode for the arrows.  
64    
65            @type color_mode: String
66            @param color_mode: Color mode for the arrows (I{Scalar or Vector})
67            """
68        
69            eval("self.vtk_glyph.SetColorModeToColorBy%s()" % color_mode)
70    
71    
72    from arrows import Arrows
73    from plane import Plane
74        
75    class ArrowsOnPlane(Arrows, Plane):
76        """
77        Class that shows a vector field by arrows on a given plane.
78        """
79    
80        def __init__(self, scene, data_collector, lut = None):
81            """
82            @type scene: L{Scene <scene.Scene>} object
83            @param scene: Scene in which components are to be added to
84            @type data_collector: L{DataCollector <datacollector.DataCollector>}
85                object
86    
87            @param data_collector: Source of data for visualization
88            """
89    
90            self.data_collector = data_collector
91            self.vtk_glyph = vtk.vtkGlyph3D()
92            Arrows.setArrows(self)
93    
94            Plane.__init__(self, scene, data_collector,
95                self.vtk_glyph.GetOutput(), lut)
96    

Legend:
Removed from v.792  
changed lines
  Added in v.849

  ViewVC Help
Powered by ViewVC 1.1.26