Inheritance: IfcExternalInformation, IfcDocumentSelect
示例#1
0
		internal static void parseFields(IfcDocumentInformation d, List<string> arrFields, ref int ipos, Schema schema)
		{
			IfcExternalInformation.parseFields(d, arrFields, ref ipos);
			d.mIdentification = arrFields[ipos++].Replace("'", "");
			d.mName = arrFields[ipos++].Replace("'", "");
			d.mDescription = arrFields[ipos++].Replace("'", "");
			if (schema == Schema.IFC2x3)
				d.mDocumentReferences = ParserSTEP.SplitListLinks(arrFields[ipos++]);
			else
				d.mLocation = arrFields[ipos++].Replace("'", "");
			d.mPurpose = arrFields[ipos++].Replace("'", "");
			d.mIntendedUse = arrFields[ipos++].Replace("'", "");
			d.mScope = arrFields[ipos++].Replace("'", "");
			d.mRevision = arrFields[ipos++].Replace("'", "");
			d.mDocumentOwner = ParserSTEP.ParseLink(arrFields[ipos++]);
			string s = arrFields[ipos++];
			if (s[0] != '$')
				d.mEditors = ParserSTEP.SplitListLinks(s);

			d.mCreationTime = arrFields[ipos++];
			d.mLastRevisionTime = arrFields[ipos++];
			if (schema == Schema.IFC2x3)
				d.mSSElectronicFormat = ParserSTEP.ParseLink(arrFields[ipos++]);
			else
				d.mElectronicFormat = arrFields[ipos++].Replace("'", "");
			d.mValidFrom = arrFields[ipos++];
			d.mValidUntil = arrFields[ipos++];
			s = arrFields[ipos++];
			if (s[0] == '.')
				d.mConfidentiality = (IfcDocumentConfidentialityEnum)Enum.Parse(typeof(IfcDocumentConfidentialityEnum), s.Substring(1, s.Length - 2));
			s = arrFields[ipos++];
			if (s[0] == '.')
				d.mStatus = (IfcDocumentStatusEnum)Enum.Parse(typeof(IfcDocumentStatusEnum), s.Substring(1, s.Length - 2));
		}
示例#2
0
		internal IfcDocumentInformation(IfcDocumentInformation i)
			: base(i)
		{
			mIdentification = i.mIdentification;
			mName = i.mName;
			mDescription = i.mDescription;
			mDocumentReferences = new List<int>(i.mDocumentReferences.ToArray());
			mPurpose = i.mPurpose;
			mIntendedUse = i.mIntendedUse;
			mScope = i.mScope;
			mRevision = i.mRevision;
			mDocumentOwner = i.mDocumentOwner;
			mEditors = new List<int>(i.mEditors.ToArray());
			mCreationTime = i.mCreationTime;
			mLastRevisionTime = i.mLastRevisionTime;
			mElectronicFormat = i.mElectronicFormat;
			mSSElectronicFormat = i.mSSElectronicFormat;
			mValidFrom = i.mValidFrom;
			mValidUntil = i.mValidUntil;
			mConfidentiality = i.mConfidentiality;
			mStatus = i.mStatus;
		}
示例#3
0
		internal static IfcDocumentInformation Parse(string strDef, Schema schema) { IfcDocumentInformation d = new IfcDocumentInformation(); int ipos = 0; parseFields(d, ParserSTEP.SplitLineFields(strDef), ref ipos, schema); return d; }
示例#4
0
		internal IfcDocumentInformation(DatabaseIfc db, IfcDocumentInformation i) : base(db,i)
		{
			mIdentification = i.mIdentification;
			mName = i.mName;
			mDescription = i.mDescription;
			DocumentReferences = i.DocumentReferences.ConvertAll(x => db.Factory.Duplicate(x) as IfcDocumentReference);
			mPurpose = i.mPurpose;
			mIntendedUse = i.mIntendedUse;
			mScope = i.mScope;
			mRevision = i.mRevision;
			mDocumentOwner = i.mDocumentOwner;
			Editors = i.mEditors.ConvertAll(x=>db.Factory.Duplicate(i.mDatabase[x]) as IfcActorSelect);
			mCreationTime = i.mCreationTime;
			mLastRevisionTime = i.mLastRevisionTime;
			mElectronicFormat = i.mElectronicFormat;
			if(i.mSSElectronicFormat > 0)
				mSSElectronicFormat = db.Factory.Duplicate(i.mDatabase[i.mSSElectronicFormat]).mIndex;
			//if(i.mValidFrom > 0)
			//	ValidFrom = db.Factory.Duplicate( i.ValidFrom) as IfcCalendarDate;
			//if(i.mValidUntil > 0)
			//	ValidUntil = db.Factory.Duplicate( i.ValidUntil) as IfcCalendarDate;
#warning todo
			mConfidentiality = i.mConfidentiality;
			mStatus = i.mStatus;
		}