/[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 828 - (hide annotations)
Wed Aug 30 07:52:35 2006 UTC (14 years, 2 months ago) by jongui
File MIME type: text/x-python
File size: 2292 byte(s)
Tidy up the codes to include inheritance of common features for reusability. Also added options to change opacity, scale factor, color mode and contour values.

1 gross 792 """
2     class that shows a vector field by arrows
3    
4     @var __author__: name of author
5     @var __license__: licence agreement
6     @var __copyright__: copyrights
7     @var __url__: url entry point on documentation
8     @var __version__: version
9     @var __date__: date of the version
10     """
11     __copyright__=""" Copyright (c) 2006 by ACcESS MNRF
12     http://www.access.edu.au
13     Primary Business: Queensland, Australia"""
14     __license__="""Licensed under the Open Software License version 3.0
15     http://www.opensource.org/licenses/osl-3.0.php"""
16     __author__="Paul Cochrane, L. Gross"
17     __url__="http://www.iservo.edu.au/esys"
18     __version__="$Revision:$"
19     __date__="$Date:$"
20    
21 jongui 827 import vtk
22 jongui 828 from common import *
23 gross 792
24 jongui 828 class Arrows(Common):
25 gross 792
26 jongui 827 def __init__(self, open_scene, data_collector):
27 jongui 828 Common.__init__(self, open_scene, data_collector)
28     #self.open_scene = open_scene
29     #self.data_collector = data_collector
30 jongui 827 self.vtk_glyph = None
31 jongui 828 #self.vtk_arrows_mapper = None
32     #self.vtk_arrows_actor = None
33 jongui 827
34     self.setArrows()
35 jongui 828 #self.setMapper()
36     #self.setActor()
37    
38     Common.setMapper(self, "self.vtk_glyph.GetOutput()")
39     Common.setActor(self)
40     Common.addActor(self)
41 jongui 827
42     # set up the glyph and use arrows as the source
43     def setArrows(self):
44     vtk_arrows = vtk.vtkArrowSource()
45    
46     self.vtk_glyph = vtk.vtkGlyph3D()
47     self.vtk_glyph.SetInput(self.data_collector.getReader().GetOutput())
48     self.vtk_glyph.SetSource(vtk_arrows.GetOutput())
49     self.vtk_glyph.SetVectorModeToUseVector()
50     self.vtk_glyph.SetScaleModeToScaleByVector()
51     self.vtk_glyph.SetColorModeToColorByScalar()
52     self.vtk_glyph.SetScaleFactor(0.2)
53 jongui 828
54     def setScaleFactor(self, scale_factor):
55     self.vtk_glyph.SetScaleFactor(scale_factor)
56    
57     def setColorMode(self, color_mode):
58     eval("self.vtk_glyph.SetColorModeToColorBy%s()" % color_mode)
59 jongui 827
60     # set up the mapper and data
61 jongui 828 #def setMapper(self):
62     # self.vtk_arrows_mapper = vtk.vtkPolyDataMapper()
63     # self.vtk_arrows_mapper.SetInput(
64     # self.vtk_glyph.GetOutput())
65 jongui 827
66     # set up the actor and add the actor to the scene
67 jongui 828 #def setActor(self):
68     # self.vtk_arrows_actor = vtk.vtkActor()
69     # self.vtk_arrows_actor.SetMapper(self.vtk_arrows_mapper)
70 jongui 827
71 jongui 828 # self.open_scene.getRenderer().AddActor(self.vtk_arrows_actor)
72 jongui 827
73    
74    
75    
76     #class ArrowsOnPlane:
77     """
78     shows a vector field by arrows on a plane
79     """
80     pass

  ViewVC Help
Powered by ViewVC 1.1.26