/[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 1093 by jongui, Sun Apr 15 23:58:53 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>}
44                  object                  object
45          @param data_collector: Deal with source of data for visualisation          @param data_collector: Deal with source of data for vizualisation
46          @type viewport: L{Viewport <constant.Viewport>} constant          @type viewport: L{Viewport <constant.Viewport>} constant
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>}
147                  object                  object
148          @param data_collector: Deal with source of data for visualisation          @param data_collector: Deal with source of data for vizualisation
149          @type viewport: L{Viewport <constant.Viewport>} constant          @type viewport: L{Viewport <constant.Viewport>} constant
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          Cutter.__init__(self, Probe._getOutput(self),          MaskPoints.__init__(self, Cutter._getOutput(self))
                 Plane._getPlane(self))    
205          Sphere.__init__(self)          Sphere.__init__(self)
206    
207          TensorGlyph.__init__(self, Cutter._getOutput(self),          TensorGlyph.__init__(self, MaskPoints._getOutput(self),
208                  Sphere._getOutput(self))                  Sphere._getOutput(self))
209          Normals.__init__(self, TensorGlyph._getOutput(self))          Normals.__init__(self, TensorGlyph._getOutput(self))
210    
# Line 188  class EllipsoidOnPlaneCut(DataSetMapper, Line 212  class EllipsoidOnPlaneCut(DataSetMapper,
212                  lookup_table._getLookupTable())                  lookup_table._getLookupTable())
213          DataSetMapper._setScalarRange(self, data_collector._getScalarRange())          DataSetMapper._setScalarRange(self, data_collector._getScalarRange())
214    
215            data_collector._paramForUpdatingMultipleSources(VizType.ELLIPSOID,
216                    ColorMode.SCALAR, DataSetMapper._getDataSetMapper(self))
217    
218          Actor3D.__init__(self, DataSetMapper._getDataSetMapper(self))          Actor3D.__init__(self, DataSetMapper._getDataSetMapper(self))
219          scene._addActor3D(viewport, Actor3D._getActor3D(self))          scene._addActor3D(viewport, Actor3D._getActor3D(self))
220    
# Line 198  class EllipsoidOnPlaneCut(DataSetMapper, Line 225  class EllipsoidOnPlaneCut(DataSetMapper,
225  from clipper import Clipper  from clipper import Clipper
226    
227  # NOTE: DataSetMapper, Actor3D, Sphere, Normals, TensorGlyph, Transform, Plane,  # NOTE: DataSetMapper, Actor3D, Sphere, Normals, TensorGlyph, Transform, Plane,
228  # Clipper, StructuredPoints and Probe were inherited to allow access to  # Clipper and MaskPoints were inherited to allow access to
229  # their public methods from the driver.  # their public methods from the driver.
230  class EllipsoidOnPlaneClip(DataSetMapper, Actor3D, Sphere, Normals,    class EllipsoidOnPlaneClip(DataSetMapper, Actor3D, Sphere, Normals,  
231      TensorGlyph, Transform, Plane, Clipper, StructuredPoints, Probe):      TensorGlyph, Transform, Plane, Clipper, MaskPoints):
232      """      """
233      This class works in a similar way to L{MapOnPlaneClip <map.MapOnPlaneClip>},      This class works in a similar way to L{MapOnPlaneClip <map.MapOnPlaneClip>},
234      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 238  class EllipsoidOnPlaneClip(DataSetMapper
238      # 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.
239      # If no lut is specified, the color scheme will be used.      # If no lut is specified, the color scheme will be used.
240      def __init__(self, scene, data_collector, viewport = Viewport.SOUTH_WEST,      def __init__(self, scene, data_collector, viewport = Viewport.SOUTH_WEST,
241              lut = Lut.COLOR, outline = True):              lut = Lut.COLOR, cell_to_point = False, outline = True):
242          """          """
243            Initialise the EllipsoidOnPlaneClip.
244    
245            @attention: The source can either be point or cell data. If the
246            source is cell data, a conversion to point data may or may not be
247            required, in order for the object to be rendered correctly.
248            If a conversion is needed, the 'cell_to_point' flag must be set to
249            'True', otherwise 'False' (which is the default).
250    
251          @type scene: L{Scene <scene.Scene>} object          @type scene: L{Scene <scene.Scene>} object
252          @param scene: Scene in which objects are to be rendered on          @param scene: Scene in which objects are to be rendered on
253          @type data_collector: L{DataCollector <datacollector.DataCollector>}          @type data_collector: L{DataCollector <datacollector.DataCollector>}
# Line 222  class EllipsoidOnPlaneClip(DataSetMapper Line 257  class EllipsoidOnPlaneClip(DataSetMapper
257          @param viewport: Viewport in which object are to be rendered on          @param viewport: Viewport in which object are to be rendered on
258          @type lut : L{Lut <constant.Lut>} constant          @type lut : L{Lut <constant.Lut>} constant
259          @param lut: Lookup table color scheme          @param lut: Lookup table color scheme
260            @type cell_to_point: Boolean
261            @param cell_to_point: Converts cell data to point data (by averaging)
262          @type outline: Boolean          @type outline: Boolean
263          @param outline: Places an outline around the domain surface          @param outline: Places an outline around the domain surface
264          """          """
# Line 264  class EllipsoidOnPlaneClip(DataSetMapper Line 301  class EllipsoidOnPlaneClip(DataSetMapper
301          Transform.__init__(self)              Transform.__init__(self)    
302          Plane.__init__(self, Transform._getTransform(self))          Plane.__init__(self, Transform._getTransform(self))
303    
304          StructuredPoints.__init__(self, data_collector._getOutput())          if(cell_to_point == True): # Converts cell data to point data.
305          Probe.__init__(self, data_collector._getOutput(),              c2p = CellDataToPointData(data_collector._getOutput())
306                  StructuredPoints._getStructuredPoints(self))              MaskPoints.__init__(self, c2p._getOutput())
307            elif(cell_to_point == False): # No conversion happens.  
308                MaskPoints.__init__(self, data_collector._getOutput())
309    
310          # NOTE: TensorGlyph must come before Clipper. Otherwise the output          # NOTE: TensorGlyph must come before Clipper. Otherwise clipping
311          # will be incorrect.          # may not work correctly.
312          Sphere.__init__(self)          Sphere.__init__(self)
313          TensorGlyph.__init__(self, Probe._getOutput(self),          TensorGlyph.__init__(self, MaskPoints._getOutput(self),
314                  Sphere._getOutput(self))                  Sphere._getOutput(self))
   
315          Normals.__init__(self, TensorGlyph._getOutput(self))          Normals.__init__(self, TensorGlyph._getOutput(self))
316          # NOTE: Clipper must come after TensorGlyph. Otherwise the output  
317          # will be incorrect.          # NOTE: Clipper must come after TensorGlyph. Otherwise clipping
318            # may not work correctly.
319          Clipper.__init__(self, Normals._getOutput(self),          Clipper.__init__(self, Normals._getOutput(self),
320                  Plane._getPlane(self))                    Plane._getPlane(self))  
321          Clipper._setClipFunction(self)          Clipper._setClipFunction(self)
# Line 285  class EllipsoidOnPlaneClip(DataSetMapper Line 324  class EllipsoidOnPlaneClip(DataSetMapper
324              lookup_table._getLookupTable())              lookup_table._getLookupTable())
325          DataSetMapper._setScalarRange(self, data_collector._getScalarRange())          DataSetMapper._setScalarRange(self, data_collector._getScalarRange())
326    
327            data_collector._paramForUpdatingMultipleSources(VizType.ELLIPSOID,
328                    ColorMode.SCALAR, DataSetMapper._getDataSetMapper(self))
329    
330          Actor3D.__init__(self, DataSetMapper._getDataSetMapper(self))          Actor3D.__init__(self, DataSetMapper._getDataSetMapper(self))
331          scene._addActor3D(viewport, Actor3D._getActor3D(self))          scene._addActor3D(viewport, Actor3D._getActor3D(self))
332    

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

  ViewVC Help
Powered by ViewVC 1.1.26