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); if (release < ReleaseVersion.IFC4) { mIdentification = ParserSTEP.StripString(str, ref pos, len); mSSCreationDate = ParserSTEP.StripLink(str, ref pos, len); Creators.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x => dictionary[x] as IfcPerson)); mPurpose = ParserSTEP.StripString(str, ref pos, len); mSSDuration = ParserSTEP.StripDouble(str, ref pos, len); mSSTotalFloat = ParserSTEP.StripDouble(str, ref pos, len); mSSStartTime = ParserSTEP.StripLink(str, ref pos, len); mSSFinishTime = ParserSTEP.StripLink(str, ref pos, len); string s = ParserSTEP.StripField(str, ref pos, len); if (s.StartsWith(".")) { Enum.TryParse <IfcWorkControlTypeEnum>(s.Replace(".", ""), true, out mWorkControlType); } mUserDefinedControlType = ParserSTEP.StripString(str, ref pos, len); } else { mCreationDate = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len)); Creators.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x => dictionary[x] as IfcPerson)); mPurpose = ParserSTEP.StripString(str, ref pos, len); mDuration = ParserSTEP.StripString(str, ref pos, len); mTotalFloat = ParserSTEP.StripString(str, ref pos, len); mStartTime = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len)); mFinishTime = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len)); } }
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); ActualDate = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len)); EarlyDate = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len)); LateDate = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len)); ScheduleDate = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len)); }
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary) { mName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len)); mVersion = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len)); mPublisher = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcActorSelect; if (release < ReleaseVersion.IFC4) { mVersionDateSS = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcCalendarDate; mLibraryReference.AddRange(ParserSTEP.StripListLink(str, ref pos, len).Select(x => dictionary[x] as IfcLibraryReference)); } else { mVersionDate = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len)); mLocation = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len)); mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len)); } }
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary) { TimeStamp = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len)); string s = ParserSTEP.StripField(str, ref pos, len); if (s != "$") { List <string> ss = ParserSTEP.SplitLineFields(s.Substring(1, s.Length - 2)); for (int icounter = 0; icounter < ss.Count; icounter++) { IfcValue v = ParserIfc.parseValue(ss[icounter]); if (v != null) { mListValues.Add(v); } } } }
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary) { mIdentification = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len)); mName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len)); mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len)); if (release < ReleaseVersion.IFC4) { mDocumentReferences = ParserSTEP.StripListLink(str, ref pos, len); } else { mLocation = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len)); } mPurpose = ParserSTEP.StripString(str, ref pos, len); mIntendedUse = ParserSTEP.StripString(str, ref pos, len); mScope = ParserSTEP.StripString(str, ref pos, len); mRevision = ParserSTEP.StripString(str, ref pos, len); mDocumentOwner = ParserSTEP.StripLink(str, ref pos, len); mEditors = ParserSTEP.StripListLink(str, ref pos, len); mCreationTime = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len)); mLastRevisionTime = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len)); if (release < ReleaseVersion.IFC4) { mSSElectronicFormat = ParserSTEP.StripLink(str, ref pos, len); } else { mElectronicFormat = ParserSTEP.StripString(str, ref pos, len); } mValidFrom = IfcDate.ParseSTEP(ParserSTEP.StripField(str, ref pos, len)); mValidUntil = IfcDate.ParseSTEP(ParserSTEP.StripField(str, ref pos, len)); string s = ParserSTEP.StripField(str, ref pos, len); if (s[0] == '.') { Enum.TryParse <IfcDocumentConfidentialityEnum>(s.Replace(".", ""), true, out mConfidentiality); } s = ParserSTEP.StripField(str, ref pos, len); if (s[0] == '.') { Enum.TryParse <IfcDocumentStatusEnum>(s.Replace(".", ""), true, out mStatus); } }