foamToVTK, PVFoamReader: Resolve problems converting VTK_WEDGE

- There will be triangles rendered inside the mesh (when
    surface-rendering), because one of the cell's triangles is defined
    as a quadrangle in VTK_WEDGE.

  - Therefore, this VTK_WEDGE representation is only used when
    decomposing the mesh, otherwise the correct representation is done
    by VTK_POLYHEDRON.

  - Furthermore, using VTK_PYRAMID gave worse result, because it renders
    2 triangles inside the mesh for the collapsed quadrangle, likely due
    to mismatch with the adjacent cell's face.

  - Using VTK_HEXAHEDRON was not tested in this iteration, given that it
    should give even worse results, when compared to using VTK_PYRAMID.

Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2099
This commit is contained in:
Henry Weller
2016-08-24 22:08:10 +01:00
parent b37269d481
commit 22722a877c
3 changed files with 3 additions and 3 deletions

View File

@ -152,7 +152,7 @@ Foam::vtkTopo::vtkTopo(const polyMesh& mesh)
cellTypes_[celli] = VTK_WEDGE;
}
else if (cellModel == tetWedge)
else if (cellModel == tetWedge && decomposePoly)
{
// Treat as squeezed prism (VTK_WEDGE)
vtkVerts.setSize(6);