diff --git a/Geo/GModelIO_VTK.cpp b/Geo/GModelIO_VTK.cpp index 6fc8d12d118fea7b42991b1607fadf825b36beb2..cba22e8c84d86d1421192e014a6ec5ad2f9dbade 100644 --- a/Geo/GModelIO_VTK.cpp +++ b/Geo/GModelIO_VTK.cpp @@ -240,6 +240,7 @@ int GModel::readVTK(const std::string &name, bool bigEndian) } switch(type){ case 1: elements[0][1].push_back(new MPoint(cells[i])); break; + // first order elements case 3: elements[1][1].push_back(new MLine(cells[i])); break; case 5: elements[2][1].push_back(new MTriangle(cells[i])); break; case 9: elements[3][1].push_back(new MQuadrangle(cells[i])); break; @@ -247,6 +248,12 @@ int GModel::readVTK(const std::string &name, bool bigEndian) case 12: elements[5][1].push_back(new MHexahedron(cells[i])); break; case 13: elements[6][1].push_back(new MPrism(cells[i])); break; case 14: elements[7][1].push_back(new MPyramid(cells[i])); break; + // second order elements + case 21: elements[1][1].push_back(new MLine(cells[i])); break; + case 22: elements[2][1].push_back(new MTriangle(cells[i])); break; + case 23: elements[3][1].push_back(new MQuadrangle(cells[i])); break; + case 24: elements[4][1].push_back(new MTetrahedron(cells[i])); break; + case 25: elements[5][1].push_back(new MHexahedron(cells[i])); break; default: Msg::Error("Unknown type of cell %d", type); break;