Non-symmetric rotating triangulation issue with quadratic elts in vtkDataSetSurfaceFilter
Since vtk-5.10.1, a regression is observed in the vtkDataSetSurfaceFilter when dealing with quadratic elements. This issue seems linked with the different triangulations performed on the surface of quadratic 3-d elements.
For instance, the triangulated faces of a quadratic hexaedron might not match the ones computed for a quadratic pentahedron next to it.
There are some comments in dd5a99e7 (from @dlonie) in the current code suggesting to use vtkOrderedTriangle when computing elements hashes, my guess is that this would indeed solve the triangulation issue. Using a pseudo-canonical key should remove the non-symmetric rotating issue, as long as a point not sharing the XYZ plane used for the current hash is added to a new hash key, used to distinguish non-boundary faces.
Interestingly enough, the same issue would not be seen with the vtkGeometryFilter for instance, as the algorithm used is rather different (no triangulation), but much slower.
There were a lot of new features added since the regression occurred, thus care should be taken to preserve them, as well as not impacting the performance too much (performance should be similar to that of <5.10.1).
The closed merge_request !1883 (closed) contains a patch for restoring the previous behavior, for testing purpose only.