[vtk-developers] polyhedral cells

Jeff Lee jeff at cdnorthamerica.com
Fri Feb 22 08:05:52 EST 2002


Hi All,
I am messing with the idea of what it would take to support arbitrary 
convex polyhedral cells in vtk.  My current thinking is as follows:  

   1. Create new cell type VTK_CONVEX_POINT_SET and let it be derived
      from vtkCell3D.
   2. The default behavior of this cell will be to use the
      vtkOrderedTriangulator to break the cell into tets, and then be
      able to delegate much of the interface of vtkCell to the new tets.
       Things like the number of faces and edges might be answered by
      passing the triangulation through a geometryfilter.  Clip and
      contour could also be delegated to the tets, however there are
      issues with contouring because the triangulation will likely split
      faces (unless they are already tri's) and cause artifacts in
      isosurfacing.  The artifacts could be removed by the following item.
   3. Alternatively allow the face information to be passed into the
      cell i.e. another vtkCellArray specifying the face polygons.  This
      would allow the contouring to be done on the face edges, and then
      form a closed-loop (not trivial) to form the isosurface.  This
      would ensure that the face information is preserved and that the
      isosurface extraction would be continuous across these arbitrary
      cell-types and known cell-types.
   4. The alternative face information could be stored with
      vtkUnstructuredGrid and when GetCell is called, it can pass out
      this new cell and give it the face information at that time.  The
      cell should store its triangulation and only change it if the
      points somehow change in the dataset.  There could be an
      alternative pre-processing stage where the dataset forces the new
      cells to triangulate and from then on the cell is accessed like
      any other.  The unstructured dataSet would be specified in the
      same way as it is today:  with a CellArray for point ids, one for
      cellTypes, one for Offsets - and additionally/alternatively one
      for Faces.

These are just my current thoughts.  There are many issues which I 
haven't addressed but I think this would be a good addition to vtk and I 
welcome any comments, concerns, criticism, or ideas.

-Jeff




More information about the vtk-developers mailing list