/[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 840 by jongui, Wed Sep 6 07:52:12 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 *
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):
15  from common import Component          """
16            @type scene: L{OpenScene <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 = None
25      shows a vector field by arrows on a plane          self.setArrows()
26      """  
27      pass          Common.setMapper(self, "self.vtk_glyph.GetOutput()")
28            Common.setActor(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 = vtk.vtkGlyph3D()
39            self.vtk_glyph.SetInput(self.data_collector.getReader().GetOutput())
40            self.vtk_glyph.SetSource(vtk_arrows.GetOutput())
41            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    
46        def setScaleFactor(self, scale_factor):
47            """
48            Set the scale factor for the arrows.
49    
50            @type scale_factor: Number
51            @param scale_factor: Scale factor
52            """
53    
54            self.vtk_glyph.SetScaleFactor(scale_factor)
55    
56        def setColorMode(self, color_mode):
57            """
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            eval("self.vtk_glyph.SetColorModeToColorBy%s()" % color_mode)
65    
66    
67    from arrows import Arrows
68    from plane import Plane
69        
70    class ArrowsOnPlane(Arrows, Plane):
71        """
72        shows a vector field by arrows on a plane
73        """
74    
75        def __init__(self, scene, data_collector):
76            Common.__init__(self, scene, data_collector)        
77            self.vtk_glyph = None
78            self.setArrows()
79    
80            Plane.__init__(self, scene, data_collector,
81                "self.vtk_glyph.GetOutput()")
82    

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

  ViewVC Help
Powered by ViewVC 1.1.26