[vtkusers] recent vtkClipDataSet can give non-tets?

Adrian Umpleby a.umpleby at imperial.ac.uk
Fri Aug 27 14:41:35 EDT 2004


>> I've been using vtkClipDataSet with version 4.2 of vtk to cut off a 
>> hexahedral mesh at a scalar value of zero. This gives all tets... 
>> just as the (latest) documentation says...
>> However, I've recently been using it on some upgraded Linux boxes 
>> which have version 4.4 of vtk, and now I find a whole load of wedges 
>> coming out of vtkClipDataSet!
>> Is this the way vtkClipDataSet is supposed to behave now? Is there a 
>> way to choose to switch it back to tets? (Couldn't see anything in 
>> member list.)
>
> That's correct. Try to clip a tetra, you'll realize that there are a 
> bunch of possibilties for the clip to return a wedge.

Note that I said I'm clipping hexahedra, so the possible polyhedra can 
be quite mind-boggling - vtkClipDataSet would have to return such 
polyhedra in a split up configuration just to get down to even mostly 
hexas again...

(I'm guessing, though, that vtkClipDataSet first splits up the mesh 
into tets [using something like vtkDataSetTriangleFilter?] before 
clipping - so wedges make sense if nothing else is done to the clipped 
cells. Having said that, I'm curious what happens in the case of 
quadratic cells? - quad-tets can end up with more than one cut 
[strictly not even planar!] for a single scalar value... it's 
interesting to note that even cutting a linear hexa isn't necessarily 
planar - I'd expect the results from vtkClipDataSet can depend a lot on 
which way the original hexas are split. But I'm getting off the subject 
here...)

> So yes wedge is the general output of clip ( vtkClipDataSet even 
> return wedges with two edges collapsed (=tetra), but vtkGeometryFilter 
> handles those 'fake' tetras).
>
> What is your problem ?

Note that it's not actually a problem - I need tets at the end, so all 
I've done to get around it is put the clipped dataset through 
vtkDataSetTriangleFilter.

However, the issue is that the latest documentation says vtkClipDataSet 
produces an all-tet mesh. This was correct under vtk 4.2, but appears 
to no longer be correct for vtk 4.4.

I was simply wondering if this could be acknowledged as "the way it's 
supposed to be" now (i.e. the docs need updating), or maybe some sort 
of bizarre bug (resulting mesh appears to conform correctly, so I find 
this hard to believe), or an oversight after some recent change.

Hope that makes it clearer!

Adrian




More information about the vtkusers mailing list