internal override void ParseXml(XmlElement xml) { base.ParseXml(xml); if (xml.HasAttribute("Name")) { Name = xml.Attributes["Location"].Value; } if (xml.HasAttribute("Description")) { Description = xml.Attributes["Description"].Value; } foreach (XmlNode child in xml.ChildNodes) { string name = child.Name; if (string.Compare(name, "Properties") == 0) { foreach (XmlNode cn in child.ChildNodes) { IfcProperty p = mDatabase.ParseXml <IfcProperty>(cn as XmlElement); if (p != null) { mProperties[p.Name] = p; } } } } }
internal virtual IfcProperty findProperty(string name) { List<IfcPropertySet> psets = Extract<IfcPropertySet>(); foreach (IfcPropertySet pset in psets) { IfcProperty p = pset.FindProperty(name); if (p != null) return p; } return null; }
internal override void postParseRelate() { base.postParseRelate(); foreach (int i in mPropertyIndices) { IfcProperty p = mDatabase[i] as IfcProperty; if (p != null) { AddProperty(p); } } }
public virtual IfcProperty FindProperty(string name) { List <IfcPropertySet> psets = Extract <IfcPropertySet>(); foreach (IfcPropertySet pset in psets) { IfcProperty p = pset.FindProperty(name); if (p != null) { return(p); } } return(null); }
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary) { base.parse(str, ref pos, release, len, dictionary); foreach (int i in ParserSTEP.StripListLink(str, ref pos, len)) { IfcProperty property = dictionary[i] as IfcProperty; if (property != null) { mProperties[property.Name] = property; } } mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len)); mName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len)); }
protected static void parseFields(IfcProperty p, List<string> arrFields, ref int ipos) { p.mName = arrFields[ipos++].Replace("'", ""); p.mDescription = arrFields[ipos++].Replace("'", ""); }
protected IfcProperty(IfcProperty r) { mName = r.mName; mDescription = r.mDescription; }