Various higher order cells return invalid results in IntersectWithLine
vtkQuadraticWedge
, vtkQuadraticLinearWedge
, vtkBiQuadraticQuadraticWedge
and vtkQuadraticPyramid
use the same switch case in the function IntersectWithLine
which has been wrongly copy-pasted from vtkQuadraticHexahedron
. Due to this copy-paste, there is a case for a 6th face while a pyramid/wedge has only 5 faces. Additionally, the faces 1-5 of vtkQuadraticHexahedron
differ parametrically speaking compared to the other cells, which results in wrong parametric coordinates.
Additionally, the points of the vtkQuadraticTriangle
faces of vtkQuadraticPyramid
are not initialized properly, and for that reason, the only faces that are returned are 0 (quad face) and 1 which is supposed to be a triangle but it's not actually one.
The aforementioned issues were discovered during the Implementation of vtkTriQuadraticPyramid cell.