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

Diff of /trunk/pyvisi/py_src/ellipsoid.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1037 by jongui, Fri Mar 16 05:00:32 2007 UTC revision 1075 by jongui, Tue Apr 3 02:47:39 2007 UTC
# Line 11  from sphere import Sphere Line 11  from sphere import Sphere
11  from normals import Normals  from normals import Normals
12  from glyph import  TensorGlyph  from glyph import  TensorGlyph
13  from outline import Outline  from outline import Outline
14  from point import StructuredPoints  from point import MaskPoints
15  from probe import Probe  from average import CellDataToPointData
16    
17  # NOTE: DataSetMapper, Actor3D, Sphere, Normals, TensorGlyph,  # NOTE: DataSetMapper, Actor3D, Sphere, Normals, TensorGlyph
18  # StructuredPoints and Probe  were inherited to allow access to their  # and MaskPoints  were inherited to allow access to their
19  # public methods from the driver.  # public methods from the driver.
20  class Ellipsoid(DataSetMapper, Actor3D, Sphere, Normals, TensorGlyph,  class Ellipsoid(DataSetMapper, Actor3D, Sphere, Normals, TensorGlyph,
21          StructuredPoints, Probe):          MaskPoints):
22      """      """
23      Class that shows a tensor field using ellipsoids. The ellipsoids can either      Class that shows a tensor field using ellipsoids. The ellipsoids can either
24      be colored or grey-scaled, depending on the lookup table used.      be colored or grey-scaled, depending on the lookup table used.
# Line 28  class Ellipsoid(DataSetMapper, Actor3D, Line 28  class Ellipsoid(DataSetMapper, Actor3D,
28      # This saves the user from specifying the viewport when there is only one.      # This saves the user from specifying the viewport when there is only one.
29      # If no lut is specified, the color scheme will be used.      # If no lut is specified, the color scheme will be used.
30      def __init__(self, scene, data_collector, viewport = Viewport.SOUTH_WEST,      def __init__(self, scene, data_collector, viewport = Viewport.SOUTH_WEST,
31              lut = Lut.COLOR, outline = True):              lut = Lut.COLOR, cell_to_point = False, outline = True):
32          """          """
33            Initialise the Ellipsoid.
34    
35            @attention: The source can either be point or cell data. If the
36            source is cell data, a conversion to point data may or may not be
37            required, in order for the object to be rendered correctly.
38            If a conversion is needed, the 'cell_to_point' flag must be set to
39            'True', otherwise 'False' (which is the default).
40    
41          @type scene: L{Scene <scene.Scene>} object          @type scene: L{Scene <scene.Scene>} object
42          @param scene: Scene in which objects are to be rendered on          @param scene: Scene in which objects are to be rendered on
43          @type data_collector: L{DataCollector <datacollector.DataCollector>}          @type data_collector: L{DataCollector <datacollector.DataCollector>}
# Line 39  class Ellipsoid(DataSetMapper, Actor3D, Line 47  class Ellipsoid(DataSetMapper, Actor3D,
47          @param viewport: Viewport in which objects are to be rendered on          @param viewport: Viewport in which objects are to be rendered on
48          @type lut : L{Lut <constant.Lut>} constant          @type lut : L{Lut <constant.Lut>} constant
49          @param lut: Lookup table color scheme          @param lut: Lookup table color scheme
50            @type cell_to_point: Boolean
51            @param cell_to_point: Converts cell data to point data (by averaging)
52          @type outline: Boolean          @type outline: Boolean
53          @param outline: Places an outline around the domain surface          @param outline: Places an outline around the domain surface
54          """          """
# Line 78  class Ellipsoid(DataSetMapper, Actor3D, Line 88  class Ellipsoid(DataSetMapper, Actor3D,
88              lookup_table = LookupTable()              lookup_table = LookupTable()
89              lookup_table._setLookupTableToGreyScale()              lookup_table._setLookupTableToGreyScale()
90    
91          StructuredPoints.__init__(self, data_collector._getOutput())          if(cell_to_point == True): # Converts cell data to point data.
92          Probe.__init__(self, data_collector._getOutput(),              c2p = CellDataToPointData(data_collector._getOutput())
93                  StructuredPoints._getStructuredPoints(self))              MaskPoints.__init__(self, c2p._getOutput())
94            elif(cell_to_point == False): # No conversion happens.  
95                MaskPoints.__init__(self, data_collector._getOutput())
96    
97          Sphere.__init__(self)          Sphere.__init__(self)
98          TensorGlyph.__init__(self, Probe._getOutput(self),          TensorGlyph.__init__(self, MaskPoints._getOutput(self),
99                  Sphere._getOutput(self))                  Sphere._getOutput(self))
100          Normals.__init__(self, TensorGlyph._getOutput(self))          Normals.__init__(self, TensorGlyph._getOutput(self))
101    
# Line 106  from plane import Plane Line 118  from plane import Plane
118  from cutter import Cutter  from cutter import Cutter
119    
120  # NOTE: DataSetMapper, Actor3D, Sphere, Normals, TensorGlyph, Transform, Plane,  # NOTE: DataSetMapper, Actor3D, Sphere, Normals, TensorGlyph, Transform, Plane,
121  # Cutter, StructuredPoints and Probe were inherited to allow access to  # Cutter and MaskPoints were inherited to allow access to
122  # their public methods from the driver.  # their public methods from the driver.
123  class EllipsoidOnPlaneCut(DataSetMapper, Actor3D, Sphere, Normals,    class EllipsoidOnPlaneCut(DataSetMapper, Actor3D, Sphere, Normals,  
124          TensorGlyph, Transform, Plane, Cutter, StructuredPoints, Probe):          TensorGlyph, Transform, Plane, Cutter, MaskPoints):
125      """      """
126      This class works in a similar way to L{MapOnPlaneCut <map.MapOnPlaneCut>},      This class works in a similar way to L{MapOnPlaneCut <map.MapOnPlaneCut>},
127      except that it shows a tensor field using ellipsoids cut using a plane.      except that it shows a tensor field using ellipsoids cut using a plane.
# Line 119  class EllipsoidOnPlaneCut(DataSetMapper, Line 131  class EllipsoidOnPlaneCut(DataSetMapper,
131      # This saves the user from specifying the viewport when there is only one.      # This saves the user from specifying the viewport when there is only one.
132      # If no lut is specified, the color scheme will be used.      # If no lut is specified, the color scheme will be used.
133      def __init__(self, scene, data_collector, viewport = Viewport.SOUTH_WEST,      def __init__(self, scene, data_collector, viewport = Viewport.SOUTH_WEST,
134              lut = Lut.COLOR, outline = True):              lut = Lut.COLOR, cell_to_point = False, outline = True):
135          """          """
136            Initialise the EllipsoidOnPlaneCut.
137    
138            @attention: The source can either be point or cell data. If the
139            source is cell data, a conversion to point data may or may not be
140            required, in order for the object to be rendered correctly.
141            If a conversion is needed, the 'cell_to_point' flag must be set to
142            'True', otherwise 'False' (which is the default).
143    
144          @type scene: L{Scene <scene.Scene>} object          @type scene: L{Scene <scene.Scene>} object
145          @param scene: Scene in which objects are to be rendered on          @param scene: Scene in which objects are to be rendered on
146          @type data_collector: L{DataCollector <datacollector.DataCollector>}          @type data_collector: L{DataCollector <datacollector.DataCollector>}
# Line 130  class EllipsoidOnPlaneCut(DataSetMapper, Line 150  class EllipsoidOnPlaneCut(DataSetMapper,
150          @param viewport: Viewport in which objects are to be rendered on          @param viewport: Viewport in which objects are to be rendered on
151          @type lut : L{Lut <constant.Lut>} constant          @type lut : L{Lut <constant.Lut>} constant
152          @param lut: Lookup table color scheme          @param lut: Lookup table color scheme
153            @type cell_to_point: Boolean
154            @param cell_to_point: Converts cell data to point data (by averaging)
155          @type outline: Boolean          @type outline: Boolean
156          @param outline: Places an outline around the domain surface          @param outline: Places an outline around the domain surface
157          """          """
# Line 172  class EllipsoidOnPlaneCut(DataSetMapper, Line 194  class EllipsoidOnPlaneCut(DataSetMapper,
194          Transform.__init__(self)              Transform.__init__(self)    
195          Plane.__init__(self, Transform._getTransform(self))          Plane.__init__(self, Transform._getTransform(self))
196    
197          StructuredPoints.__init__(self, data_collector._getOutput())          if(cell_to_point == True): # Converts cell data to point data.
198          Probe.__init__(self, data_collector._getOutput(),              c2p = CellDataToPointData(data_collector._getOutput())
199                  StructuredPoints._getStructuredPoints(self))              Cutter.__init__(self, c2p._getOutput(), Plane._getPlane(self))  
200            elif(cell_to_point == False): # No conversion happens.  
201                Cutter.__init__(self, data_collector._getOutput(),
202                        Plane._getPlane(self))  
203    
204            MaskPoints.__init__(self, Cutter._getOutput(self))
205    
         Cutter.__init__(self, Probe._getOutput(self),  
                 Plane._getPlane(self))    
206          Sphere.__init__(self)          Sphere.__init__(self)
207    
208          TensorGlyph.__init__(self, Cutter._getOutput(self),          TensorGlyph.__init__(self, MaskPoints._getOutput(self),
209                  Sphere._getOutput(self))                  Sphere._getOutput(self))
210          Normals.__init__(self, TensorGlyph._getOutput(self))          Normals.__init__(self, TensorGlyph._getOutput(self))
211    
212    
213    
214    
215          DataSetMapper.__init__(self, Normals._getOutput(self),          DataSetMapper.__init__(self, Normals._getOutput(self),
216                  lookup_table._getLookupTable())                  lookup_table._getLookupTable())
217          DataSetMapper._setScalarRange(self, data_collector._getScalarRange())          DataSetMapper._setScalarRange(self, data_collector._getScalarRange())
218    
219            data_collector._paramForUpdatingMultipleSources(VizType.ELLIPSOID,
220                    ColorMode.SCALAR, DataSetMapper._getDataSetMapper(self))
221    
222          Actor3D.__init__(self, DataSetMapper._getDataSetMapper(self))          Actor3D.__init__(self, DataSetMapper._getDataSetMapper(self))
223          scene._addActor3D(viewport, Actor3D._getActor3D(self))          scene._addActor3D(viewport, Actor3D._getActor3D(self))
224    
# Line 198  class EllipsoidOnPlaneCut(DataSetMapper, Line 229  class EllipsoidOnPlaneCut(DataSetMapper,
229  from clipper import Clipper  from clipper import Clipper
230    
231  # NOTE: DataSetMapper, Actor3D, Sphere, Normals, TensorGlyph, Transform, Plane,  # NOTE: DataSetMapper, Actor3D, Sphere, Normals, TensorGlyph, Transform, Plane,
232  # Clipper, StructuredPoints and Probe were inherited to allow access to  # Clipper and MaskPoints were inherited to allow access to
233  # their public methods from the driver.  # their public methods from the driver.
234  class EllipsoidOnPlaneClip(DataSetMapper, Actor3D, Sphere, Normals,    class EllipsoidOnPlaneClip(DataSetMapper, Actor3D, Sphere, Normals,  
235      TensorGlyph, Transform, Plane, Clipper, StructuredPoints, Probe):      TensorGlyph, Transform, Plane, Clipper, MaskPoints):
236      """      """
237      This class works in a similar way to L{MapOnPlaneClip <map.MapOnPlaneClip>},      This class works in a similar way to L{MapOnPlaneClip <map.MapOnPlaneClip>},
238      except that it shows a tensor field using ellipsoids clipped using a plane.      except that it shows a tensor field using ellipsoids clipped using a plane.
# Line 211  class EllipsoidOnPlaneClip(DataSetMapper Line 242  class EllipsoidOnPlaneClip(DataSetMapper
242      # This saves the user from specifying the viewport when there is only one.      # This saves the user from specifying the viewport when there is only one.
243      # If no lut is specified, the color scheme will be used.      # If no lut is specified, the color scheme will be used.
244      def __init__(self, scene, data_collector, viewport = Viewport.SOUTH_WEST,      def __init__(self, scene, data_collector, viewport = Viewport.SOUTH_WEST,
245              lut = Lut.COLOR, outline = True):              lut = Lut.COLOR, cell_to_point = False, outline = True):
246          """          """
247            Initialise the EllipsoidOnPlaneClip.
248    
249            @attention: The source can either be point or cell data. If the
250            source is cell data, a conversion to point data may or may not be
251            required, in order for the object to be rendered correctly.
252            If a conversion is needed, the 'cell_to_point' flag must be set to
253            'True', otherwise 'False' (which is the default).
254    
255          @type scene: L{Scene <scene.Scene>} object          @type scene: L{Scene <scene.Scene>} object
256          @param scene: Scene in which objects are to be rendered on          @param scene: Scene in which objects are to be rendered on
257          @type data_collector: L{DataCollector <datacollector.DataCollector>}          @type data_collector: L{DataCollector <datacollector.DataCollector>}
# Line 222  class EllipsoidOnPlaneClip(DataSetMapper Line 261  class EllipsoidOnPlaneClip(DataSetMapper
261          @param viewport: Viewport in which object are to be rendered on          @param viewport: Viewport in which object are to be rendered on
262          @type lut : L{Lut <constant.Lut>} constant          @type lut : L{Lut <constant.Lut>} constant
263          @param lut: Lookup table color scheme          @param lut: Lookup table color scheme
264            @type cell_to_point: Boolean
265            @param cell_to_point: Converts cell data to point data (by averaging)
266          @type outline: Boolean          @type outline: Boolean
267          @param outline: Places an outline around the domain surface          @param outline: Places an outline around the domain surface
268          """          """
# Line 264  class EllipsoidOnPlaneClip(DataSetMapper Line 305  class EllipsoidOnPlaneClip(DataSetMapper
305          Transform.__init__(self)              Transform.__init__(self)    
306          Plane.__init__(self, Transform._getTransform(self))          Plane.__init__(self, Transform._getTransform(self))
307    
308          StructuredPoints.__init__(self, data_collector._getOutput())          if(cell_to_point == True): # Converts cell data to point data.
309          Probe.__init__(self, data_collector._getOutput(),              c2p = CellDataToPointData(data_collector._getOutput())
310                  StructuredPoints._getStructuredPoints(self))              Clipper.__init__(self, c2p._getOutput(),
311                        Plane._getPlane(self))  
312                Clipper._setClipFunction(self)
313            elif(cell_to_point == False): # No conversion happens.  
314                Clipper.__init__(self, data_collector._getOutput(),
315                        Plane._getPlane(self))  
316                Clipper._setClipFunction(self)
317    
318            MaskPoints.__init__(self, Clipper._getOutput(self))
319    
         # NOTE: TensorGlyph must come before Clipper. Otherwise the output  
         # will be incorrect.  
320          Sphere.__init__(self)          Sphere.__init__(self)
321          TensorGlyph.__init__(self, Probe._getOutput(self),          TensorGlyph.__init__(self, MaskPoints._getOutput(self),
322                  Sphere._getOutput(self))                  Sphere._getOutput(self))
323    
324          Normals.__init__(self, TensorGlyph._getOutput(self))          Normals.__init__(self, TensorGlyph._getOutput(self))
         # NOTE: Clipper must come after TensorGlyph. Otherwise the output  
         # will be incorrect.  
         Clipper.__init__(self, Normals._getOutput(self),  
                 Plane._getPlane(self))    
         Clipper._setClipFunction(self)  
325    
326          DataSetMapper.__init__(self, Clipper._getOutput(self),          DataSetMapper.__init__(self, Normals._getOutput(self),
327              lookup_table._getLookupTable())              lookup_table._getLookupTable())
328          DataSetMapper._setScalarRange(self, data_collector._getScalarRange())          DataSetMapper._setScalarRange(self, data_collector._getScalarRange())
329    
330            data_collector._paramForUpdatingMultipleSources(VizType.ELLIPSOID,
331                    ColorMode.SCALAR, DataSetMapper._getDataSetMapper(self))
332    
333          Actor3D.__init__(self, DataSetMapper._getDataSetMapper(self))          Actor3D.__init__(self, DataSetMapper._getDataSetMapper(self))
334          scene._addActor3D(viewport, Actor3D._getActor3D(self))          scene._addActor3D(viewport, Actor3D._getActor3D(self))
335    

Legend:
Removed from v.1037  
changed lines
  Added in v.1075

  ViewVC Help
Powered by ViewVC 1.1.26