How do I get triangles from a vtkPolyData object?
Grant Edwards
grante at visi.com
Tue Sep 4 11:34:34 EDT 2007
On 2007-09-03, Grant Edwards <grante at visi.com> wrote:
Is there _any_ documentation for the Python bindings to the vtk
library? I'm still beating my head against a wall trying to
figure out how to get the actual data out of vtk objects when
Python doesn't make visible the required "Get" methods....
> 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()
> delny.SetInput(profile)
> delny.SetTolerance(0.001)
> delny.Update()
>
> 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.
I accidentally left out a step -- it's actually a vtkCellArray
object obtained by calling o.GetPolys() that is missing the
GetCell() and GetNextCell() methods which I need to call.
--
Grant Edwards grante Yow! My mind is a potato
at field ...
visi.com
More information about the Python-list
mailing list