#1475 IfcFile::recalculate_id_counter()

This commit is contained in:
Thomas Krijnen
2021-06-26 13:23:55 +02:00
parent ebfb29d6da
commit da10a1060e
2 changed files with 12 additions and 0 deletions
+2
View File
@@ -228,6 +228,8 @@ public:
unsigned int FreshId() { return ++MaxId; }
void recalculate_id_counter();
IfcUtil::IfcBaseClass* addEntity(IfcUtil::IfcBaseClass* entity);
void addEntities(IfcEntityList::ptr es);
+10
View File
@@ -1494,6 +1494,16 @@ void IfcFile::initialize_(IfcParse::IfcSpfStream* s) {
return;
}
void IfcFile::recalculate_id_counter() {
entity_by_id_t::key_type k = 0;
for (auto& p : byid) {
if (p.first > k) {
k = p.first;
}
}
MaxId = (unsigned int)k;
}
class traversal_visitor {
private:
std::set<IfcUtil::IfcBaseClass*>& visited_;