[vtkusers] recent vtkClipDataSet can give non-tets?
Mathieu Malaterre
mathieu.malaterre at kitware.com
Fri Aug 27 16:10:40 EDT 2004
Adrian Umpleby wrote:
>>> 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.
Adrian,
vtkClipDataSet now returns wedges and tets. This is done because this
way a case table can be used that is much faster than the previous method.
In vtkClipVolume there is a flag, Mixed3DCellGeneration, that allows
you to force the generation of tets. This flag is not found in
vtkClipDataSet, I suspect it could be added.
HTH
Mathieu
More information about the vtkusers
mailing list