GeometryGym.Ifc.IfcConstraint.SetXML C# (CSharp) Method

SetXML() private method

private SetXML ( XmlElement xml, BaseClassIfc host, HashSet processed ) : void
xml XmlElement
host BaseClassIfc
processed HashSet
return void
		internal override void SetXML(XmlElement xml, BaseClassIfc host, HashSet<int> processed)
		{
			base.SetXML(xml, host, processed);
			setAttribute(xml, "Name", Name);
			setAttribute(xml, "Description", Description);
			xml.SetAttribute("ConstraintGrade", mConstraintGrade.ToString().ToLower());
			setAttribute(xml, "ConstraintSource", ConstraintSource);
			if (mCreatingActor > 0)
				xml.AppendChild(mDatabase[mCreatingActor].GetXML(xml.OwnerDocument, "CreatingActor", host, processed));
			setAttribute(xml, "UserDefinedGrade", UserDefinedGrade);

			if (mHasExternalReferences.Count > 0)
			{
				XmlElement element = xml.OwnerDocument.CreateElement("HasExternalReferences");
				xml.AppendChild(element);
				foreach (IfcExternalReferenceRelationship r in HasExternalReferences)
					element.AppendChild(r.GetXML(xml.OwnerDocument, "", this, processed));
			}
			if(mPropertiesForConstraint.Count > 0)
			{
				XmlElement element = xml.OwnerDocument.CreateElement("PropertiesForConstraint");
				foreach (IfcResourceConstraintRelationship r in mPropertiesForConstraint)
				{
					if (host.Index != r.mIndex && !processed.Contains(r.mIndex))
						element.AppendChild(r.GetXML(xml.OwnerDocument, "", this, processed));
				}
				if (element.HasChildNodes)
					xml.AppendChild(element);
			}
			if (mHasConstraintRelationships.Count > 0)
			{
				XmlElement element = xml.OwnerDocument.CreateElement("HasConstraintRelationships");
				foreach (IfcResourceConstraintRelationship r in HasConstraintRelationships)
				{
					if (host.Index != r.mIndex)
						element.AppendChild(r.GetXML(xml.OwnerDocument, "", this, processed));
				}
				if (element.HasChildNodes)
					xml.AppendChild(element);
			}
		}
	}