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

Annotation of /trunk/pyvisi/py_src/scalarbar.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1189 - (hide annotations)
Thu Jun 7 05:31:25 2007 UTC (13 years, 10 months ago) by jongui
File MIME type: text/x-python
File size: 3944 byte(s)
A Scalar Bar can now be displayed by creating an instance of a 'Legend'. The Scalar Bar can either show the scalar data range or vector data range. Corresponding examples and tests have also been added.
1 jongui 1189 """
2     @author: John NGUI
3     """
4    
5     import vtk
6     from position import LocalPosition
7     from constant import Color
8    
9     class ScalarBar:
10     """
11     Class that defines a scalar bar.
12     """
13    
14     def __init__(self):
15     """
16     Initialise the scalar bar.
17     """
18    
19     self.__vtk_scalar_bar = vtk.vtkScalarBarActor()
20     self.__setupScalarBar()
21    
22     def __setupScalarBar(self):
23     """
24     Setup the scalar bar.
25     """
26    
27     self.__vtk_scalar_bar.GetPositionCoordinate().SetCoordinateSystemToViewport()
28     self.setNumberOfLabels(8)
29     # Set the default color of the scalar bar's title and label to black.
30     self.setTitleColor(Color.BLACK)
31     self.setLabelColor(Color.BLACK)
32    
33     def _setScalarBarLookupTable(self, lookup_table):
34     """
35     Set the scalar bar's lookup table.
36    
37     @type lookup_table: vtkScalarsToColors
38     @param lookup_table: Converts scalar data to colors
39     """
40    
41     self.__vtk_scalar_bar.SetLookupTable(lookup_table)
42    
43     def setNumberOfLabels(self, labels):
44     """
45     Set the number of lables on the scalar bar.
46    
47     @type labels: Number
48     @param labels: Number of labels on the scalar bar
49     """
50    
51     self.__vtk_scalar_bar.SetNumberOfLabels(labels)
52    
53     def setTitle(self, title):
54     """
55     Set the title on the scalar bar.
56    
57     @type title: String
58     @param title: Title on the scalar bar
59     """
60    
61     self.__vtk_scalar_bar.SetTitle(title)
62    
63     def setPosition(self, position):
64     """
65     Set the local position of the scalar bar.
66    
67     @type position: L{LocalPosition <position.LocalPosition>} object
68     @param position: Position of the scalar bar
69     """
70    
71     self.__vtk_scalar_bar.SetPosition(position._getXCoor(), \
72     position._getYCoor())
73    
74     def setOrientationToHorizontal(self):
75     """
76     Set the orientation of the scalar bar to horizontal.
77     """
78    
79     self.__vtk_scalar_bar.SetOrientationToHorizontal()
80     self.setWidth(0.8)
81     self.setHeight(0.14)
82     self.setPosition(LocalPosition(130,5))
83    
84     def setOrientationToVertical(self):
85     """
86     Set the orientation of the scalar bar to vertical.
87     """
88    
89     self.__vtk_scalar_bar.SetOrientationToVertical()
90     self.setWidth(0.14)
91     self.setHeight(0.85)
92     self.setPosition(LocalPosition(5,150))
93    
94     def setHeight(self, height):
95     """
96     Set the height of the scalar bar.
97    
98     @type height: Number
99     @param height: Height of the scalar bar
100     """
101    
102     self.__vtk_scalar_bar.SetHeight(height)
103    
104     def setWidth(self, width):
105     """
106     Set the width of the scalar bar.
107    
108     @type width: Number
109     @param width: Width of the scalar bar.
110     """
111    
112     self.__vtk_scalar_bar.SetWidth(width)
113    
114     def setLabelColor(self, color):
115     """
116     Set the color of the scalar bar's label.
117    
118     @type color: L{Color <constant.Color>} constant
119     @param color: Color of the scalar bar label
120     """
121    
122     self.__getLabelProperty().SetColor(color)
123    
124     def labelBoldOn(self):
125     """
126     Enable the bold on the scalar bar's label.
127     """
128    
129     self.__getLabelProperty().BoldOn()
130    
131     def labelBoldOff(self):
132     """
133     Disable the bold on the scalar bar's label.
134     """
135    
136     self.__getLabelProperty().BoldOff()
137    
138     def setTitleColor(self, color):
139     """
140     Set the color of the scalar bar's title.
141    
142     @type color: L{Color <constant.Color>} constant
143     @param color: Color of the scalar bar title
144     """
145    
146     self.__getTitleProperty().SetColor(color)
147    
148     def titleBoldOn(self):
149     """
150     Enable the bold on the scalar bar's title.
151     """
152    
153     self.__getTitleProperty().BoldOn()
154    
155     def titleBoldOff(self):
156     """
157     Disable the bold on the scalar bar's title.
158     """
159    
160     self.__getTitleProperty().BoldOff()
161    
162     def __getLabelProperty(self):
163     """
164     Return the scalar bar's label property.
165    
166     @rtype: vtkTextPorperty
167     @return: Scalar bar's label property
168     """
169    
170     return self.__vtk_scalar_bar.GetLabelTextProperty()
171    
172     def __getTitleProperty(self):
173     """
174     Return the scalar bar's title property.
175    
176     @rtype: vtkTextPorperty
177     @return: Scalar bar's title property
178     """
179    
180     return self.__vtk_scalar_bar.GetTitleTextProperty()
181    
182     def _getScalarBar(self):
183     """
184     Return the scalar bar.
185    
186     @rtype: vtkScalarBarActor
187     @return: Scalar bar actor
188     """
189    
190     return self.__vtk_scalar_bar
191    

  ViewVC Help
Powered by ViewVC 1.1.26