[vtk-developers] Permission to replace vtkCellLocator with an improved version

David Gobbi david.gobbi at gmail.com
Tue Jan 19 12:21:14 EST 2010


HI All,

Around seven weeks ago I added a new class to VTK called
vtkVolumePicker  (http://www.vtk.org/Wiki/VTK/Volume_Picking) that
improved volume picking.  This class also included several
improvements for polydata picking that I needed for my applications,
including the ability to use a vtkCellLocator to speed up the pick.

Soon after adding this class to VTK, I split off a subclass called
vtkSurfacePicker
(http://www.vtk.org/doc/nightly/html/classvtkSurfacePicker.html) that
has 95% of the functionality of vtkVolumePicker, but doesn't depend on
the VolumeRendering kit.  This vtkSurfacePicker is, essentially, an
improved vtkCellPicker.  Compared to vtkCellPicker, here is a summary
of the most important improvements:

- the ability to add a vtkCellLocator to accelerate the picking of
large data sets (it's rather shocking that vtkCellPicker cannot do
this)

- much faster algorithms for picking volumes and images.. the
vtkCellPicker does a tedious search through all the cells in the
vtkImageData, but this new picker simply intersects the view ray with
the image data

- specifying an "opacity isovalue" value for more useful volume
picking, i.e. it doesn't pick transparent regions, instead it picks
the visible volume surface

- several methods for getting more information about what was picked,
including IJK coords for images, volumes, and textures

- it acknowledges the existence of mapper clipping planes... the
vtkCellPicker ignores clipping planes so it will pick regions that
have been clipped away

I would like to replace the vtkCellPicker with this new
vtkSurfacePicker class.  Since it provides a superset of vtkCellPicker
functionality and improved performance, the change should be
transparent to all users.  The only problem might be conflicts between
the new methods and third-party subclasses of vtkCellPicker.

Any thoughts?  Should I have sent this email to the ARB list instead?

   David



More information about the vtk-developers mailing list