VTK Wedge Cell Types: Fix Point Ordering, Triangulation and Volume Correctness#
This series of commits fixes long-standing issues with wedge cell types in VTK, where point orderings were inconsistent with parametric coordinates, leading to incorrect volume computations, negative volume tetrahedra in triangulations, and faces with incorrect outward normals. The fixes are mentioned below:
vtkWedgeFix documentation and drawing: the point ordering in the vtk-examples and vtk-book was wrong and did not match the cell’s parametric coordinates; this has been corrected
Wrong Wedge Point Ordering:

Corrected Wedge Point Ordering:

Use outward normal winding for each face, which was broken as a result of the incorrect point ordering
TriangulateLocalIdsnow generates positive volume tetrahedronsFix tests generating wrong point ordering
Fix Clip Tables to produce correct point/edge ordering with positive volume wedges
Fix Contour Tables to produce correct point/edge ordering
vtkQuadraticWedgeFix documentation and add topology drawing to match parametric coordinates
LinearWedgesnow produce positive volume wedgesTriangulateLocalIdsnow generates positive volume tetrahedronsFix mesh with wrong point ordering used by a test
vtkBiQuadraticQuadraticWedgeAdd topology drawing
LinearWedgesnow produce positive volume wedgesTriangulateLocalIdsnow generates tetrahedrons (previously generated linear wedges)
vtkQuadraticLinearWedgeAdd topology drawing
LinearWedgesnow produce positive volume wedgesTriangulateLocalIdsnow generates tetrahedrons (previously generated linear wedges)
vtkHigherOrderWedge/vtkBezierWedge/vtkLagrangeWedgeFix documentation to mention that it now shares the same point ordering as
vtkWedge
vtkBiQuadraticQuadraticHexahedronTriangulateLocalIdsnow generates tetrahedrons with valid points.
vtkCellTypeSourceFix
vtkWedgepoint ordering to match parametric coordinatesFix
vtkQuadraticWedgewedge point ordering to match parametric coordinates
vtkEnsigh*ReaderFix
vtkWedgepoint ordering to match parametric coordinatesFix
vtkQuadraticWedgewedge point ordering to match parametric coordinates
vtkAvmeshReaderFix
vtkWedgepoint ordering to match parametric coordinates
vtkIOSSReader/WriterFix
vtkWedgepoint ordering to match parametric coordinatesFix
vtkQuadraticWedgewedge point ordering to match parametric coordinatesFix
vtkBiQuadraticQuadraticWedgepoint ordering to match parametric coordinatesFix
vtkLagrangeWedgepoint ordering to match parametric coordinates
vtkTRUCHASReaderFix
vtkWedgepoint ordering to match parametric coordinates
vtkMeshQualityRevert previous
vtkWedgepoint ordering fix, superseded by the above changesFix
vtkQuadraticHexahedron/vtkTriQuadraticHexahedronpoint ordering to account for differing conventions between VTK and Exodus/Patran (used by verdict)