[vtkusers] converting output of vtkContourFilter from line segments to closed loop polyline
Marc Cotran
marc at cotran.ca
Thu Jun 22 18:30:04 EDT 2006
David C Thompson wrote:
> On Thu, 2006-06-22 at 15:30 -0600, Richard Strelitz wrote:
>
>> I want to use contours (and isosurfaces) as discrete objects. For
>> example, while vtkContourFilter generates a multitude of 2-point line
>> segment cells, I want to string together those pieces belonging to the
>> same contour to be shown as an N-point polyline. Absent special cases
>> (hitting the boundary, duplicate points, etc.) the problem is
>> straightforward. ...
>> Is there a method or class that I have overlooked? Wouldn't this be a
>> nice thing to have?
>> Suggestions, comments, hints and even flames, welcome.
>>
>
> Hint: VTK/Graphics/vtkStripper does what you want. Note that it won't
> create polylines with more than 100,000 segments (by fiat).
>
> David
I tried this once using vtkStripper and found that it often gave
multiple strips for polylines that could be described as a single strip.
I also found that sometimes a strip went in one direction, while a
connecting strip went the other. I tried cleaning the points first,
which helped a little, but I ended up getting frustrated and giving up.
For my project, I was *not* starting with the output of a
vtkContourFilter, but rather the output of a vtkCutter (cutting through
a polydata mesh with an implicit plane). While I assume the results
would be the same, you may have more luck with vtkContourFilter. If not,
I fear you may have to implement the algo you proposed.
Marc
More information about the vtkusers
mailing list