From 3335aad83c16ea6952e775b3050c99fd1c38203d Mon Sep 17 00:00:00 2001 From: Thomas Fischer <thomas.fischer@ufz.de> Date: Wed, 15 Feb 2017 10:07:06 +0100 Subject: [PATCH] [A/U/MP] Write and read number of PropertyVectors. --- .../PartitionMesh/NodeWiseMeshPartitioner.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp index 8f4cfc06199..2d9c5bf8c82 100644 --- a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp +++ b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp @@ -272,6 +272,9 @@ void NodeWiseMeshPartitioner::writePropertiesBinary( auto const& properties(_mesh->getProperties()); auto const& property_names(properties.getPropertyVectorNames()); + std::size_t number_of_properties(property_names.size()); + out.write(reinterpret_cast<char*>(&number_of_properties), + sizeof(number_of_properties)); for (auto const& name : property_names) { MeshLib::IO::PropertyVectorMetaData pvmd; @@ -336,7 +339,9 @@ void NodeWiseMeshPartitioner::readPropertiesConfigDataBinary( { ERR("Could not open file '%s' in binary mode.", fname.c_str()); } - while (is) + std::size_t number_of_properties = 0; + is.read(reinterpret_cast<char*>(&number_of_properties), sizeof(std::size_t)); + for (std::size_t i(0); i < number_of_properties; ++i) { boost::optional<MeshLib::IO::PropertyVectorMetaData> pvmd( MeshLib::IO::readPropertyVectorMetaData(is)); -- GitLab