From e44221c9c2f65f062e3f9aa7af28c22cce655bc5 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 10 Feb 2020 16:36:56 +0100 Subject: [PATCH] XML serializer decomposition fixes for IFC4 --- src/serializers/schema_dependent/XmlSerializer.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/serializers/schema_dependent/XmlSerializer.cpp b/src/serializers/schema_dependent/XmlSerializer.cpp index f03a2c1203..644aa72b07 100644 --- a/src/serializers/schema_dependent/XmlSerializer.cpp +++ b/src/serializers/schema_dependent/XmlSerializer.cpp @@ -264,7 +264,11 @@ ptree& descend(IfcSchema::IfcObjectDefinition* product, ptree& tree) { #else IfcSchema::IfcObjectDefinition::list::ptr structures = get_related - (product, &IfcSchema::IfcProduct::IsDecomposedBy, &IfcSchema::IfcRelAggregates::RelatedObjects); + (product, &IfcSchema::IfcObjectDefinition::IsDecomposedBy, &IfcSchema::IfcRelAggregates::RelatedObjects); + + structures->push(get_related + + (product, &IfcSchema::IfcObjectDefinition::IsNestedBy, &IfcSchema::IfcRelNests::RelatedObjects)); #endif for (IfcSchema::IfcObjectDefinition::list::it it = structures->begin(); it != structures->end(); ++it) { @@ -292,7 +296,7 @@ ptree& descend(IfcSchema::IfcObjectDefinition* product, ptree& tree) { } } -#ifdef USE_IFC4 +#ifdef SCHEMA_IfcObject_HAS_IsTypedBy IfcSchema::IfcTypeObject::list::ptr types = get_related (object, &IfcSchema::IfcObject::IsTypedBy, &IfcSchema::IfcRelDefinesByType::RelatingType);