From 01ab21a69ad0957aaeacb30b35addb4741cb6d76 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sat, 18 Nov 2017 10:40:10 +0100 Subject: [PATCH] Incrementing id when enumerating arbitrary instances --- src/ifcparse/IfcHdf5File.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ifcparse/IfcHdf5File.h b/src/ifcparse/IfcHdf5File.h index e92cbfa59a..64238cc1f1 100644 --- a/src/ifcparse/IfcHdf5File.h +++ b/src/ifcparse/IfcHdf5File.h @@ -48,7 +48,8 @@ namespace IfcParse { instance_enumerator(IfcSpfHeader* header, T begin, T end) { std::map map; std::for_each(begin, end, [&map](IfcUtil::IfcBaseClass* inst) { - map.insert(std::make_pair(inst->data().id(), inst)); + // Use an incrementing id here in order not to fold distinct instances from different files with the same identifier + map.insert(std::make_pair(map.size(), inst)); }); map_ = std::make_pair(header, map); }