internal override void ParseXml(XmlElement xml)
{
base.ParseXml(xml);
if (xml.HasAttribute("LayerOn"))
Enum.TryParse<IfcLogicalEnum>(xml.Attributes["LayerOn"].Value, true, out mLayerOn);
if (xml.HasAttribute("LayerFrozen"))
Enum.TryParse<IfcLogicalEnum>(xml.Attributes["LayerFrozen"].Value, true, out mLayerFrozen);
if (xml.HasAttribute("LayerBlocked"))
Enum.TryParse<IfcLogicalEnum>(xml.Attributes["LayerBlocked"].Value, true, out mLayerBlocked);
foreach (XmlNode child in xml.ChildNodes)
{
string name = child.Name;
if (string.Compare(name, "LayerStyles") == 0)
{
List<IfcPresentationStyle> styles = new List<IfcPresentationStyle>(child.ChildNodes.Count);
foreach (XmlNode cn in child.ChildNodes)
{
IfcPresentationStyle s = mDatabase.ParseXml<IfcPresentationStyle>(cn as XmlElement);
if (s != null)
styles.Add(s);
}
LayerStyles = styles;
}
}
}