/[escript]/branches/more_shared_ptrs_from_1812/pyvisi/py_src/warp.py
ViewVC logotype

Contents of /branches/more_shared_ptrs_from_1812/pyvisi/py_src/warp.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1813 - (show annotations)
Fri Sep 26 00:58:05 2008 UTC (10 years, 7 months ago) by jfenwick
File MIME type: text/x-python
File size: 2287 byte(s)
Branching to experiment with proxies and shared pointers.

1
2 ########################################################
3 #
4 # Copyright (c) 2003-2008 by University of Queensland
5 # Earth Systems Science Computational Center (ESSCC)
6 # http://www.uq.edu.au/esscc
7 #
8 # Primary Business: Queensland, Australia
9 # Licensed under the Open Software License version 3.0
10 # http://www.opensource.org/licenses/osl-3.0.php
11 #
12 ########################################################
13
14 __copyright__="""Copyright (c) 2003-2008 by University of Queensland
15 Earth Systems Science Computational Center (ESSCC)
16 http://www.uq.edu.au/esscc
17 Primary Business: Queensland, Australia"""
18 __license__="""Licensed under the Open Software License version 3.0
19 http://www.opensource.org/licenses/osl-3.0.php"""
20 __url__="http://www.uq.edu.au/esscc/escript-finley"
21
22 """
23 @var __author__: name of author
24 @var __copyright__: copyrights
25 @var __license__: licence agreement
26 @var __url__: url entry point on documentation
27 @var __version__: version
28 @var __date__: date of the version
29 """
30
31 __author__="John Ngui, john.ngui@uq.edu.au"
32
33
34 import vtk
35 from constant import WarpMode
36
37 class Warp:
38 """
39 Class that defines the deformation of a scalar field.
40 """
41
42 def __init__(self, warp_mode):
43 """
44 Initialise the warp scalar/vector.
45
46 @type warp_mode: L{WarpMode <constant.WarpMode>} constant
47 @param warp_mode: Mode in which to deform the data
48 """
49
50 if(warp_mode == WarpMode.SCALAR): # Deform data with scalar data.
51 self.__vtk_warp = vtk.vtkWarpScalar()
52 elif(warp_mode == WarpMode.VECTOR): # Deform data with vector data.
53 self.__vtk_warp = vtk.vtkWarpVector()
54
55 def _setupWarp(self, object):
56 """
57 Setup the warp.
58
59 @type object: vtkPolyData, etc
60 @param object: Input for the warp scalar or warp vector
61 """
62
63 self.__object = object
64 self.__setInput()
65
66 def __setInput(self):
67 """
68 Set the input for the warp scalar/vector.
69 """
70
71 self.__vtk_warp.SetInput(self.__object)
72
73 def setScaleFactor(self, scale_factor):
74 """
75 Set the displacement scale factor.
76
77 @type scale_factor: Number
78 @param scale_factor: Scale factor for the displacement
79 """
80
81 self.__vtk_warp.SetScaleFactor(scale_factor)
82
83 def _getWarpOutput(self):
84 """
85 Return the output of the deformed data.
86
87 @rtype: vtkPointSet
88 @return: PointSet data
89 """
90
91 return self.__vtk_warp.GetOutput()
92

  ViewVC Help
Powered by ViewVC 1.1.26