From e327932f4ef4318e18b1cf63549d2f6854c54379 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 21 Mar 2025 13:48:59 +0100 Subject: [PATCH] Fixes to HierarchyHelper #6365 --- src/ifcparse/IfcHierarchyHelper.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ifcparse/IfcHierarchyHelper.h b/src/ifcparse/IfcHierarchyHelper.h index 4f427a527a..c303942dd5 100644 --- a/src/ifcparse/IfcHierarchyHelper.h +++ b/src/ifcparse/IfcHierarchyHelper.h @@ -411,9 +411,9 @@ class IFC_PARSE_API IfcHierarchyHelper : public IfcParse::IfcFile { bool found = false; for (typename Schema::IfcRelDefinesByType::list::it i = li->begin(); i != li->end(); ++i) { typename Schema::IfcRelDefinesByType* rel = *i; - if (rel->RelatingType() == related_object) { + if (rel->RelatingType() == relating_object) { typename Schema::IfcObject::list::ptr objects = rel->RelatedObjects(); - objects->push((typename Schema::IfcObject*)related_object); + objects->push(addEntity(related_object)->template as()); rel->setRelatedObjects(objects); found = true; break; @@ -427,8 +427,8 @@ class IFC_PARSE_API IfcHierarchyHelper : public IfcParse::IfcFile { owner_hist = addOwnerHistory(); } typename Schema::IfcObject::list::ptr related_objects(new aggregate_of()); - related_objects->push((typename Schema::IfcObject*)related_object); - typename Schema::IfcRelDefinesByType* t = new typename Schema::IfcRelDefinesByType(IfcParse::IfcGlobalId(), owner_hist, boost::none, boost::none, related_objects, related_object->template as()); + related_objects->push(related_object->template as()); + typename Schema::IfcRelDefinesByType* t = new typename Schema::IfcRelDefinesByType(IfcParse::IfcGlobalId(), owner_hist, boost::none, boost::none, related_objects, relating_object->template as()); addEntity(t); } @@ -440,7 +440,7 @@ class IFC_PARSE_API IfcHierarchyHelper : public IfcParse::IfcFile { try { if (get_parent_of_relation(rel) == relating_object) { aggregate_of_instance::ptr products = get_children_of_relation(rel); - products->push(related_object); + products->push(addEntity(related_object)); set_children_of_relation(rel, products); found = true; break;