[vtkusers] Pickable vtkPolyData

Scott Johnson Scott.Johnson at neuwave.com
Tue Nov 29 11:01:14 EST 2011


Hello,

I've been developing a capability to interactively create contours on image slices with ActiViz 5.6.1 on Windows 7 x64.

During the initial definition of the contour the representation is stored in a vtkPolyData built up by defining Line cells.  When the editing is completed the contour is closed by defining a line from the last to the first point.  The entire pipeline for display looks like:

vtkPolyData -> vtkPolyDataMapper -> vtkActor -> ...

The problem comes when I try to pick the contour.  I'd like to click within the closed polygon defined by the lines and be notified of the pick.  However, since the vtkPolyData is made of lines the pick doesn't seem to recognize it.  I've used different prop pickers (i.e. vtkPropPicker and vtkCellPicker) all failing.  I decided that I had to define the cell in the vtkPolyData as a Polygon rather than lines for the pick to be recognized.  This solved the picking problem.  In order to correctly display the boundaries of the polygonal cell I had to pass the vtkPolyData through a vtkTriangleFilter.

Now I want the display to be an outline of the polygon cell without any interior shading.  The side effect of vtkTriangleFilter is that it breaks the single cell into multiples which causes lines to be drawn across the interior of the polygon.  This is undesirable.  I've tried using different representations for the actor, but Wireframe and Surface don't look right.

After all that, is there a way to display the contour as an outline and have it pickable?  Right now I'm leaning toward having 2 actors, one with the lines and one with the polygon, but make the polygon actor transparent.  However I'd like to avoid the overhead.

Thanks

                                -- Scott

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20111129/1d97f767/attachment.htm>


More information about the vtkusers mailing list