コード例 #1
0
 internal override void ParseXml(XmlElement xml)
 {
     base.ParseXml(xml);
     if (xml.HasAttribute("ObjectType"))
     {
         ObjectType = xml.Attributes["ObjectType"].Value;
     }
     foreach (XmlNode child in xml.ChildNodes)
     {
         string name = child.Name;
         if (string.Compare(name, "IsTypedBy") == 0)
         {
             mIsTypedBy = mDatabase.ParseXml <IfcRelDefinesByType>(child as XmlElement);
         }
         if (string.Compare(name, "IsDefinedBy") == 0)
         {
             foreach (XmlNode node in child.ChildNodes)
             {
                 IfcRelDefinesByProperties rd = mDatabase.ParseXml <IfcRelDefinesByProperties>(node as XmlElement);
                 if (rd != null)
                 {
                     rd.Assign(this);
                 }
             }
         }
     }
 }
コード例 #2
0
		protected IfcObject(DatabaseIfc db, IfcObject o, bool downStream) : base(db, o,downStream)//, bool downStream) : base(db, o, downStream)
		{
			mObjectType = o.mObjectType;
			foreach (IfcRelDefinesByProperties rdp in o.mIsDefinedBy)
			{
				IfcRelDefinesByProperties drdp = db.Factory.Duplicate(rdp) as IfcRelDefinesByProperties;
				drdp.Assign(this);
			}
			if(o.mIsTypedBy != null)
				IsTypedBy = db.Factory.Duplicate(o.mIsTypedBy,false) as IfcRelDefinesByType;
		}