From d4d7611c9fcc4de4bd161aa7be51d7d7e63c89a8 Mon Sep 17 00:00:00 2001 From: mattijs Date: Fri, 18 Jun 2010 11:41:08 +0100 Subject: [PATCH] ENH: handle msh2.2 format --- .../mesh/conversion/gmshToFoam/gmshToFoam.C | 85 ++++++++++++------- 1 file changed, 56 insertions(+), 29 deletions(-) diff --git a/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C b/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C index a3f607ba0b..fa1fe3b041 100644 --- a/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C +++ b/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C @@ -233,6 +233,44 @@ void storeCellInZone } +// Reads mesh format +scalar readMeshFormat(IFstream& inFile) +{ + Info<< "Starting to read mesh format at line " << inFile.lineNumber() << endl; + + string line; + inFile.getLine(line); + IStringStream lineStr(line); + + scalar version; + label asciiFlag, nBytes; + lineStr >> version >> asciiFlag >> nBytes; + + Info<< "Read format version " << version << " ascii " << asciiFlag << endl; + + if (asciiFlag != 0) + { + FatalIOErrorIn("readMeshFormat(IFstream&)", inFile) + << "Can only read ascii msh files." + << exit(FatalIOError); + } + + inFile.getLine(line); + IStringStream tagStr(line); + word tag(tagStr); + + if (tag != "$EndMeshFormat") + { + FatalIOErrorIn("readMeshFormat(IFstream&)", inFile) + << "Did not find $ENDNOD tag on line " + << inFile.lineNumber() << exit(FatalIOError); + } + Info<< endl; + + return version; +} + + // Reads points and map void readPoints(IFstream& inFile, pointField& points, Map