internal override void ParseXml(XmlElement xml)
{
base.ParseXml(xml);
foreach (XmlNode child in xml.ChildNodes)
{
string name = child.Name;
if (string.Compare(name, "HasAssignments") == 0)
{
foreach (XmlNode node in child.ChildNodes)
{
IfcRelAssigns ra = mDatabase.ParseXml<IfcRelAssigns>(node as XmlElement);
if (ra != null)
ra.AddRelated(this);
}
}
else if (string.Compare(name, "IsNestedBy") == 0)
{
foreach (XmlNode node in child.ChildNodes)
{
IfcRelNests rn = mDatabase.ParseXml<IfcRelNests>(node as XmlElement);
if (rn != null)
rn.RelatingObject = this;
}
}
else if (string.Compare(name, "IsDecomposedBy") == 0)
{
foreach (XmlNode node in child.ChildNodes)
{
IfcRelAggregates ra = mDatabase.ParseXml<IfcRelAggregates>(node as XmlElement);
if (ra != null)
ra.RelatingObject = this;
}
}
else if (string.Compare(name, "HasAssociations") == 0)
{
foreach (XmlNode node in child.ChildNodes)
{
IfcRelAssociates ra = mDatabase.ParseXml<IfcRelAssociates>(node as XmlElement);
if (ra != null)
ra.addAssociation(this);
}
}
}
}