/[escript]/trunk/modellib/py_src/visualization.py
ViewVC logotype

Diff of /trunk/modellib/py_src/visualization.py

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

revision 4405 by jfenwick, Tue Jan 22 09:30:23 2013 UTC revision 4406 by caltinay, Tue May 14 02:54:09 2013 UTC
# Line 95  class Visualization(Model): Line 95  class Visualization(Model):
95         """         """
96         return self.__last_t+self.dt-self.t         return self.__last_t+self.dt-self.t
97    
 class Movie(Visualization):  
     """  
     Generic visualization of scalar, vector and/or tensorial data  
   
     :ivar scalar: scalar data set (in)  
     :ivar vector: vector data set (in)  
     :ivar tensor: tensor data set (in)  
     """  
   
     def __init__(self, **kwargs):  
         """  
         Initialisation of the visualisation model object  
   
         :keyword debug: Debugging flag  
         """  
         super(Movie,self).__init__(**kwargs)  
         self.declareParameter(scalar=None,  
                               vector=None,  
                               tensor=None)  
   
     def doStepPostprocessing(self, dt):  
         """  
         renders the scene  
         """  
         super(Movie, self).doStepPostprocessing(dt)  
         if self.writeFrame():  
             if self.debug():  
                self.trace("%s-th frame at time %s"%(self.getFrameCounter(),self.t))  
                if isinstance(self.scalar,Data):  
                   self.trace("scalar data: (min,max) =(%s,%s)"%(inf(self.scalar),sup(self.scalar)))  
                if isinstance(self.vector,Data):  
                   self.trace("vector data: (min,max) =(%s,%s)"%(inf(self.vector),sup(self.vector)))  
                if isinstance(self.tensor,Data):  
                   self.trace("tensor data: (min,max) =(%s,%s)"%(inf(self.tensor),sup(self.tensor)))  
   
 class ShadePlot(Movie):  
     """  
     Shaded contour plots  
     """  
       
     def __init(self, **kwargs):  
         """  
         Initialisation  
         """  
         Movie.__init__(self, **kwargs)  
         self.declareParameter(filename="shadePlot.%s.png")  
   
     def doStepPostprocessing(self, dt):  
         """  
         Do any necessary postprocessing operations after a timestep.  
   
         :param dt:  
         """  
         self.counter += 1  
         if self.counter % self.stride == 0:  
             n = self.counter/self.stride  
   
             # look for a vtk xml file of the right name and plot it  
             dataFname = "data.s.%d.xml" % n  
             if not os.path.exists(dataFname):  
                 print("Data file doesn't exist!  Skipping frame generation.")  
   
             else:  
                 import pyvisi  
                 import pyvisi.renderers.vtk  
       
                 scene = pyvisi.renderers.vtk.Scene()  
                 plot = pyvisi.renderers.vtk.ContourPlot(scene)  
                 plot.setData(fname=dataFname,  
                         format='vtk-xml',  
                         scalars='escript_scalar_data')  
                 scene.save(fname="shadePlot.%05d.png" % n, format="png")  
   
   
 class ArrowPlot(Movie):  
     """  
     Arrow/vector/quiver plots  
     """  
       
     def __init(self, **kwargs):  
         """  
         Initialisation  
         """  
         Movie.__init__(self, **kwargs)  
         self.declareParameter(filename="arrowPlot.%s.png")  
   
     def doStepPostprocessing(self, dt):  
         """  
         Do any necessary postprocessing operations after a timestep.  
   
         :param dt:  
         """  
         self.counter += 1  
         if self.counter % self.stride == 0:  
             n = self.counter/self.stride  
   
             # look for a vtk xml file of the right name and plot it  
             dataFname = "data.v.%d.xml" % n  
             if not os.path.exists(dataFname):  
                 print("Data file doesn't exist!  Skipping frame generation.")  
   
             else:  
                 import pyvisi  
                 import pyvisi.renderers.vtk  
       
                 scene = pyvisi.renderers.vtk.Scene()  
                 plot = pyvisi.renderers.vtk.ArrowPlot3D(scene)  
                 plot.setData(fname=dataFname,  
                         format='vtk-xml')  
                 scene.save(fname="arrowPlot.%05d.png" % n, format="png")  
   
   
   
 class EllipsoidPlot(Movie):  
     """  
     Ellipsoid plots  
     """  
       
     def __init(self, **kwargs):  
         """  
         Initialisation  
         """  
         Movie.__init__(self, **kwargs)  
   
   
98  class WriteVTK(Visualization):  class WriteVTK(Visualization):
99      """      """
100      Writes data into a VTK file.      Writes data into a VTK file.

Legend:
Removed from v.4405  
changed lines
  Added in v.4406

  ViewVC Help
Powered by ViewVC 1.1.26