From 018689849b51e1e61f6387ea8b8caad8b5400cd6 Mon Sep 17 00:00:00 2001 From: Norihiro Watanabe <norihiro.watanabe@ufz.de> Date: Fri, 9 Jan 2015 16:15:19 +0100 Subject: [PATCH] add writeMeshToFile --- FileIO/CMakeLists.txt | 2 ++ FileIO/writeMeshToFile.cpp | 41 ++++++++++++++++++++++++++++++++++++++ FileIO/writeMeshToFile.h | 24 ++++++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 FileIO/writeMeshToFile.cpp create mode 100644 FileIO/writeMeshToFile.h diff --git a/FileIO/CMakeLists.txt b/FileIO/CMakeLists.txt index 6c9d6c4b985..0f4f665edb5 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 00000000000..d519d1e1e96 --- /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 00000000000..bab68d434dd --- /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_ -- GitLab