diff --git a/FileIO/CMakeLists.txt b/FileIO/CMakeLists.txt index 6c9d6c4b9856763fb6ece580b00a3110bf86227e..0f4f665edb519c41b16942e77fad22227eddead3 100644 --- a/FileIO/CMakeLists.txt +++ b/FileIO/CMakeLists.txt @@ -19,6 +19,8 @@ SET( SOURCES TINInterface.cpp Writer.h Writer.cpp + writeMeshToFile.h + writeMeshToFile.cpp ) GET_SOURCE_FILES(SOURCES_LEGACY Legacy) diff --git a/FileIO/writeMeshToFile.cpp b/FileIO/writeMeshToFile.cpp new file mode 100644 index 0000000000000000000000000000000000000000..d519d1e1e96d1144a9f519c01f60b3dbf38ddebf --- /dev/null +++ b/FileIO/writeMeshToFile.cpp @@ -0,0 +1,41 @@ +/** + * \copyright + * Copyright (c) 2012-2014, OpenGeoSys Community (http://www.opengeosys.org) + * Distributed under a Modified BSD License. + * See accompanying file LICENSE.txt or + * http://www.opengeosys.org/project/license + */ + +#include "writeMeshToFile.h" + +// ThirdParty/logog +#include "logog/include/logog.hpp" + +// BaseLib +#include "FileTools.h" +#include "StringTools.h" + +// MeshLib +#include "Mesh.h" + +// FileIO +#include "Legacy/MeshIO.h" +#include "FileIO/VtkIO/VtuInterface.h" + +namespace FileIO +{ +void writeMeshToFile(const MeshLib::Mesh &mesh, const std::string &file_name) +{ + if (BaseLib::hasFileExtension("msh", file_name)) + { + Legacy::MeshIO meshIO; + meshIO.writeToFile(file_name); + } else if (BaseLib::hasFileExtension("vtu", file_name)) { + FileIO::VtuInterface writer(&mesh); + writer.writeToFile(file_name); + } else { + ERR("writeMeshToFile(): Unknown mesh file format in file %s.", file_name.c_str()); + } +} + +} // end namespace FileIO diff --git a/FileIO/writeMeshToFile.h b/FileIO/writeMeshToFile.h new file mode 100644 index 0000000000000000000000000000000000000000..bab68d434ddb88a7f1d00fbf7126c61557dfcda2 --- /dev/null +++ b/FileIO/writeMeshToFile.h @@ -0,0 +1,24 @@ +/** + * \copyright + * Copyright (c) 2012-2014, OpenGeoSys Community (http://www.opengeosys.org) + * Distributed under a Modified BSD License. + * See accompanying file LICENSE.txt or + * http://www.opengeosys.org/project/license + */ + +#ifndef WRITEMESHTOFILE_H_ +#define WRITEMESHTOFILE_H_ + +#include <string> + +namespace MeshLib +{ +class Mesh; +} + +namespace FileIO +{ +void writeMeshToFile(const MeshLib::Mesh &mesh, const std::string &file_name); +} + +#endif // WRITEMESHTOFILE_H_