diff --git a/Base/Geometry/Reader/imstkVTKMeshReader.cpp b/Base/Geometry/Reader/imstkVTKMeshReader.cpp index 29e4dbf9cc42ccaaa01245bf40376d3f16f32af3..a8a8e4fc5ac33916ca6750c03ca825dbdcd573fd 100644 --- a/Base/Geometry/Reader/imstkVTKMeshReader.cpp +++ b/Base/Geometry/Reader/imstkVTKMeshReader.cpp @@ -158,8 +158,7 @@ VTKMeshReader::convertVtkUnstructuredGridToVolumetricMesh(vtkUnstructuredGrid* v std::vector<Vec3d> vertices; VTKMeshReader::copyVertices(vtkMesh->GetPoints(), vertices); - vtkIdType cellType; - vtkMesh->GetCellType(cellType); + int cellType = vtkMesh->GetCellType(vtkMesh->GetNumberOfCells()-1); if( cellType == VTK_TETRA ) { std::vector<TetrahedralMesh::TetraArray> cells; @@ -219,6 +218,10 @@ VTKMeshReader::copyCells(vtkCellArray* vtkCells, std::vector<std::array<size_t,d std::array<size_t, dim> cell; while(vtkCells->GetNextCell(vtkCell)) { + if (vtkCell->GetNumberOfIds() != dim) + { + continue; + } for(size_t i = 0; i < dim; ++i) { cell[i] = vtkCell->GetId(i);