GeometryGym.Ifc.IfcConstraint.ParseXml C# (CSharp) Méthode

ParseXml() private méthode

private ParseXml ( XmlElement xml ) : void
xml XmlElement
Résultat void
		internal override void ParseXml(XmlElement xml)
		{
			base.ParseXml(xml);
			if (xml.HasAttribute("Name"))
				Name = xml.Attributes["Name"].Value;
			if (xml.HasAttribute("Description"))
				Description = xml.Attributes["Description"].Value;
			if (xml.HasAttribute("ConstraintGrade"))
				Enum.TryParse<IfcConstraintEnum>(xml.Attributes["ConstraintGrade"].Value, true, out mConstraintGrade);
			if (xml.HasAttribute("ConstraintSource"))
				ConstraintSource = xml.Attributes["ConstraintSource"].Value;
			foreach (XmlNode child in xml.ChildNodes)
			{
				string name = child.Name;
				if (string.Compare(name, "CreatingActor") == 0)
					CreatingActor = mDatabase.ParseXml<IfcActorSelect>(child as XmlElement);
				else if (string.Compare(name, "HasExternalReferences") == 0)
				{
					foreach (XmlNode cn in child.ChildNodes)
					{
						IfcExternalReferenceRelationship r = mDatabase.ParseXml<IfcExternalReferenceRelationship>(cn as XmlElement);
						if (r != null)
							r.addRelated(this);
					}
				} 
				else if (string.Compare(name, "PropertiesForConstraint") == 0)
				{
					foreach (XmlNode cn in child.ChildNodes)
					{
						IfcResourceConstraintRelationship r = mDatabase.ParseXml<IfcResourceConstraintRelationship>(cn as XmlElement);
						if (r != null)
							r.RelatingConstraint = this;
					}
				}
				else if (string.Compare(name, "HasConstraintRelationships") == 0)
				{
					foreach (XmlNode cn in child.ChildNodes)
					{
						IfcResourceConstraintRelationship r = mDatabase.ParseXml<IfcResourceConstraintRelationship>(cn as XmlElement);
						if (r != null)
							r.addRelated(this);
					}
				}
			}
			if (xml.HasAttribute("UserDefinedGrade"))
				UserDefinedGrade = xml.Attributes["UserDefinedGrade"].Value;

		}
		internal override void SetXML(XmlElement xml, BaseClassIfc host, HashSet<int> processed)