[vtkusers] Very simple help required for using abstract class vtkUnstructuredGridToPolyDataFilter
Jonathan.Bailleul
Jonathan.Bailleul at greyc.ismra.fr
Thu Aug 7 10:26:34 EDT 2003
Kevin Wright wrote:
>
> > I would like to build a polydata file out of the result of a
> > Delaunay3d
> > filter. It produces an unstructured grid that I might transform into
> > polydata in using the vtkUnstructuredGridToPolyDataFilter
> > filter. But it
> > appears to be an abstract class and that the instanciation of
> > the object
> > I'm attempting to perform is impossible.
>
> PolyData is a surface structure. It cannot handle 3D elements like tetrahedrons that are output from Delaunay3D. The reason that vtkUnstructuredGridToPolyDataFilter is abstract, is because its the base class for specific algorithms to extract a surface from a volume. For example, extracting the outer surface from a volume would be one concrete instance of filtering an unstructured grid to a polydata surface.
>
> I notice that your code used a polydata reader to read a file as initial input. Is this file just a list of points? If its a standard polydata structure, including elements, then that's all you need. If that file only defines points, are they all on a surface? If so, you can try using the 2D version of Delaunay. If they actually define a volume, then the Delaunay3D would be an appropriate way to make a mesh out of the points, but if you want a surface, then you'll have to decide what surface you want (outer surface, cut through the volume, etc.) before you can get a polydata structure out of it.
>
> Hope that answers your question.
> Kevin.
Actually, my purpose is to simplify the mesh of an input vtk polydata
surface. I suppose Delaunay3d might supress many elongated triangles or
unecessary triangles.
Since I "marchingcubed" a voxel volume composed from few slices, obvious
"cliffs" are visible between each z-slice of voxel data (see: mcubed
shape http://www.greyc.ismra.fr/~bailleul/These/LPut-mcubes-flat.jpg and
http://www.greyc.ismra.fr/~bailleul/These/LPut-mcubes-wire.jpg). To
overcome this, I used a gausian filter that gave smooth transition
between z-slices but left many triangles of distorted shape that I would
like to eliminate (cf
http://www.greyc.ismra.fr/~bailleul/These/LPut-gauss2-wire.jpg).
So, output delaunay points all belong to a single surface: how to make a
polydata out of it?
In advance, thank you (again) for your help.
--
-----------------------------------
Jonathan BAILLEUL, Doctorant
GREYC Image - Université de Caen
http://www.greyc.ismra.fr/~bailleul
More information about the vtkusers
mailing list