From 28b949968c35aba7b751d677a4f1255bb1d04c3e Mon Sep 17 00:00:00 2001
From: Thomas Fischer <thomas.fischer@ufz.de>
Date: Tue, 14 Feb 2017 14:01:06 +0100
Subject: [PATCH] [A/U/MP] For debugging: readPropertiesConfigDataBin.

---
 .../PartitionMesh/NodeWiseMeshPartitioner.cpp | 20 +++++++++++++++++++
 .../PartitionMesh/NodeWiseMeshPartitioner.h   |  3 +++
 2 files changed, 23 insertions(+)

diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp
index 8f6ddd12086..8f4cfc06199 100644
--- a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp
+++ b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp
@@ -324,6 +324,26 @@ void NodeWiseMeshPartitioner::writePropertiesBinary(
         MeshLib::IO::writePropertyVectorMetaDataBinary(out, pvmd);
     }
     out.close();
+}
+
+void NodeWiseMeshPartitioner::readPropertiesConfigDataBinary(
+    const std::string& file_name_base) const
+{
+    const std::string fname = file_name_base + "_partitioned_properties_cfg"
+                              + std::to_string(_npartitions) + ".bin";
+    std::ifstream is(fname.c_str(), std::ios::binary | std::ios::in);
+    if (!is)
+    {
+        ERR("Could not open file '%s' in binary mode.", fname.c_str());
+    }
+    while (is)
+    {
+        boost::optional<MeshLib::IO::PropertyVectorMetaData> pvmd(
+            MeshLib::IO::readPropertyVectorMetaData(is));
+        if (pvmd) {
+            INFO("readPropertiesConfigMetaDataBinary:");
+            MeshLib::IO::writePropertyVectorMetaData(*pvmd);
+        }
     }
 }
 
diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h
index 8580aeae1f7..f3d139cc53a 100644
--- a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h
+++ b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h
@@ -130,6 +130,9 @@ private:
 
     void writePropertiesBinary(std::string const& file_name_base) const;
 
+    void readPropertiesConfigDataBinary(
+        std::string const& file_name_base) const;
+
     /*!
          \brief Write the configuration data of the partition data in
                 binary files.
-- 
GitLab