internal override void SetXML(XmlElement xml, BaseClassIfc host, HashSet<int> processed)
{
base.SetXML(xml, host, processed);
if (mHasAssignments.Count > 0)
{
XmlElement element = xml.OwnerDocument.CreateElement("HasAssignments");
foreach (IfcRelAssignsToProduct rap in mHasAssignments)
{
if(rap.mIndex != host.mIndex)
element.AppendChild(rap.GetXML(xml.OwnerDocument, "", this, processed));
}
if (element.HasChildNodes)
xml.AppendChild(element);
}
if(mIsNestedBy.Count > 0)
{
XmlElement element = xml.OwnerDocument.CreateElement("IsNestedBy");
xml.AppendChild(element);
foreach (IfcRelNests rn in IsNestedBy)
element.AppendChild(rn.GetXML(xml.OwnerDocument, "", this, processed));
}
if (mIsDecomposedBy.Count > 0)
{
XmlElement element = xml.OwnerDocument.CreateElement("IsDecomposedBy");
xml.AppendChild(element);
foreach (IfcRelAggregates rags in IsDecomposedBy)
element.AppendChild(rags.GetXML(xml.OwnerDocument, "", this, processed));
}
if (mHasAssociations.Count > 0)
{
XmlElement element = xml.OwnerDocument.CreateElement("HasAssociations");
xml.AppendChild(element);
foreach (IfcRelAssociates ra in HasAssociations)
element.AppendChild(ra.GetXML(xml.OwnerDocument, "", this, processed));
}
}