/[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 835 by jongui, Mon Sep 4 22:20:28 2006 UTC
# Line 1  Line 1 
1  """  """
2  class that shows a vector field by arrows  Class that shows a vector field by arrows.
3    """
4    
5    import vtk
6    from common import *
7    
8    class Arrows(Common):
9        """
10        @author: John Ngui
11        @author: Lutz Gross
12        """
13    
14        def __init__(self, open_scene, data_collector):
15            """
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            Common.__init__(self, open_scene, data_collector)
24            self.vtk_glyph = None
25            self.setArrows()
26    
27            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  @var __author__: name of author  """
67  @var __license__: licence agreement  class ArrowsOnPlane:
68  @var __copyright__: copyrights  shows a vector field by arrows on a plane
 @var __url__: url entry point on documentation  
 @var __version__: version  
 @var __date__: date of the version  
69  """  """
70  __copyright__="""  Copyright (c) 2006 by ACcESS MNRF  pass
                     http://www.access.edu.au  
                 Primary Business: Queensland, Australia"""  
 __license__="""Licensed under the Open Software License version 3.0  
              http://www.opensource.org/licenses/osl-3.0.php"""  
 __author__="Paul Cochrane, L. Gross"  
 __url__="http://www.iservo.edu.au/esys"  
 __version__="$Revision:$"  
 __date__="$Date:$"  
   
 from common import Component  
   
 class Arrows(Component):  
     """  
     shows a vector field by arrows  
     """  
     pass  
   
 class ArrowsOnPlane(Component):  
     """  
     shows a vector field by arrows on a plane  
     """  
     pass  

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

  ViewVC Help
Powered by ViewVC 1.1.26