[vtkusers] Modifying data and updating a figure

Heath Johnson heathbjohnson at gmail.com
Fri Jan 22 18:16:38 EST 2010


I am very new to this so please excuse me if I don't have all the
terminology right yet.  I am using tvtk.StructuredGrid to visualize a grid,
and I want to be able to modify the dataset and have the figure update.
Here is a sample code:

 ----------------------------------------------------
#!/usr/bin/python
# -*- coding: utf-8 -*-
from numpy import empty
from enthought.tvtk.api import tvtk
from enthought.mayavi import mlab
import numpy
import time

# Create the points array
def xyzToPts(x,y,z):

   # Reform into 2D array
   pts = empty(z.shape + (3,), dtype=float)
   pts[...,0] = x
   pts[...,1] = y
   pts[...,2] = z

   pts.shape = pts.size/3, 3
   return(x.shape,pts)

# -- Set initial mesh
x, y = numpy.mgrid[0:3:1,0:3:1]
x.shape= x.shape + (1,)
y.shape= y.shape + (1,)

z= x*0.0

# Create the 2D points array
(xsh,pts)= xyzToPts(x,y,z)

# Create the structured grid dataset
sg = tvtk.StructuredGrid(dimensions=xsh, points=pts)
d = mlab.pipeline.add_dataset(sg)
gx = mlab.pipeline.grid_plane(d)

# Iterate on performing smoothing passes and displaying the updated mesh
for i in range(4):
   time.sleep(1)
   print "-- Iterating, i= ",i

   x= x*0.75
   y= y*0.75
   z= z*0.75

   (xsh,pts)= xyzToPts(x,y,z)

   # How to have the plot onscreen update?  This doesn't work!
   #sg.point_data.set(scalars=pts)
   #sg.modified()

   # Creates a new dataset.  Not what we want!
   sg = tvtk.StructuredGrid(dimensions=xsh, points=pts)
   d = mlab.pipeline.add_dataset(sg)
   gx = mlab.pipeline.grid_plane(d)

# Launch the interactive viewer
mlab.show()

exit()
 ----------------------------------------------------

The above code displays a new dataset each time the x,y,z points are
changed.  Instead I would like to modify the values of the current dataset
and have the figure update to reflect the new values.  I just can't get this
to work.  Can somebody please help?

Thanks,

Heath
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20100122/3bece860/attachment.htm>


More information about the vtkusers mailing list