How do I get triangles from a vtkPolyData object?
grante at visi.com
Mon Sep 3 17:18:41 CEST 2007
I posted this question to the vtk mailing list last week:
I've been Googling and wandering through the class references
most of the afternoon, but I can't figure out how to get the
triangles out of the vtkPolyData that vtkDelaunay2D produces?
I can get the vertex corredinates like this:
delny = vtk.vtkDelaunay2D()
o = delny.GetOutput()
vertexes = [o.GetPoint(i) for i in xrange(o.GetNumberOfPoints())]
I can see that there are 84 triangles, and 'o' is a vtkPolyData
object that has 84 cells and 84 polygons, so they obviously
represent the triangles, but I can't figure out how to get
something useful out of the cells or polys.
I got multiple replies telling me that I need to make calls to
o.GetNextCell(). The posters were even kind enough to include
examples in C++ showing how to do a delaunay triangulation and
retrieve the triangle info.
However, the Python version of a vtkCellArray object (which is
what's created as output from the Delaunay triangulation
module) doesn't make the GetNextCell() (or GetCell()) method
visible. It does have a GetNumberOfCells() object, and methods
to set and insert cells, but how do I _get_ a cell?
Grant Edwards grante Yow! .. I'll make you
at an ASHTRAY!!
More information about the Python-list