From ce0940786cd9f1a9c582f008ef436b7269297922 Mon Sep 17 00:00:00 2001
From: Thomas Fischer <thomas.fischer@ufz.de>
Date: Wed, 15 Feb 2017 10:07:54 +0100
Subject: [PATCH] [A/U/MP] R/w tuple # in NodeWiseMeshPartitioner.

---
 .../PartitionMesh/NodeWiseMeshPartitioner.cpp   | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp
index 2d9c5bf8c82..e8e0602a1da 100644
--- a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp
+++ b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp
@@ -326,6 +326,12 @@ void NodeWiseMeshPartitioner::writePropertiesBinary(
         }
         MeshLib::IO::writePropertyVectorMetaDataBinary(out, pvmd);
     }
+    for (const auto& partition : _partitions)
+    {
+        MeshLib::IO::PropertyVectorPartitionMetaData pvpmd;
+        pvpmd.number_of_tuples = partition.number_of_non_ghost_nodes;
+        MeshLib::IO::writePropertyVectorPartitionMetaData(out, pvpmd);
+    }
     out.close();
 }
 
@@ -350,6 +356,17 @@ void NodeWiseMeshPartitioner::readPropertiesConfigDataBinary(
             MeshLib::IO::writePropertyVectorMetaData(*pvmd);
         }
     }
+    auto pos = is.tellg();
+    for (std::size_t i(0); i < _npartitions; ++i) {
+        auto offset =
+            pos + static_cast<std::streampos>(
+                      i * sizeof(MeshLib::IO::PropertyVectorPartitionMetaData));
+        is.seekg(offset);
+        unsigned long number_of_tuples = 0;
+        is.read(reinterpret_cast<char*>(&number_of_tuples),
+                sizeof(unsigned long));
+        INFO("%u tuples in partition %u.", number_of_tuples, i);
+    }
 }
 
 std::tuple<std::vector<NodeWiseMeshPartitioner::IntegerType>,
-- 
GitLab