internal static DxfClassesSection ClassesSectionFromBuffer(DxfCodePairBufferReader buffer, DxfAcadVersion version) { var section = new DxfClassesSection(); section.Clear(); while (buffer.ItemsRemain) { var pair = buffer.Peek(); if (DxfCodePair.IsSectionEnd(pair)) { // done reading classes buffer.Advance(); // swallow (0, ENDSEC) break; } if (pair.Code != 0) { throw new DxfReadException("Expected new class.", pair); } var cls = DxfClass.FromBuffer(buffer, version); if (cls != null) { section.Classes.Add(cls); } } return(section); }
private DxfClass readClass() { DxfClass curr = new DxfClass(); Debug.Assert(m_reader.LastValueAsString == DxfFileToken.ClassEntry); m_reader.ReadNext(); //Loop until the next class or the end of the section while (m_reader.LastDxfCode != DxfCode.Start) { switch (m_reader.LastCode) { //Class DXF record name; always unique case 1: curr.DxfName = m_reader.LastValueAsString; break; //C++ class name. Used to bind with software that defines object class behavior; always unique case 2: curr.CppClassName = m_reader.LastValueAsString; break; //Application name. Posted in Alert box when a class definition listed in this section is not currently loaded case 3: curr.ApplicationName = m_reader.LastValueAsString; break; //Proxy capabilities flag. case 90: curr.ProxyFlags = (ProxyFlags)m_reader.LastValueAsShort; break; //Instance count for a custom class case 91: curr.InstanceCount = m_reader.LastValueAsInt; break; //Was-a-proxy flag. Set to 1 if class was not loaded when this DXF file was created, and 0 otherwise case 280: curr.WasAProxy = m_reader.LastValueAsBool; break; //Is - an - entity flag. case 281: curr.IsAnEntity = m_reader.LastValueAsBool; break; default: break; } m_reader.ReadNext(); } return(curr); }
internal override void Read(Class434 or, Class259 objectBuilder) { base.Read(or, objectBuilder); Interface30 objectBitStream = or.ObjectBitStream; int num1; if (or.Builder.Version > DxfVersion.Dxf14) { num1 = objectBitStream.imethod_11(); if (or.Builder.Version > DxfVersion.Dxf15) { objectBitStream.ReadString(); } int num2 = objectBitStream.imethod_11(); this.dwgVersion_0 = (DwgVersion)(num2 & (int)ushort.MaxValue); this.short_1 = (short)(num2 >> 16); this.bool_2 = objectBitStream.imethod_6(); if (this.bool_2) { objectBitStream.imethod_11(); objectBitStream.imethod_11(); } } else { num1 = objectBitStream.imethod_11(); objectBitStream.imethod_11(); } this.dxfClass_0 = or.Builder.Model.Classes.GetClassWithClassNumber((short)num1); Class1048 class1048 = (Class1048)objectBitStream; this.stream_0 = (Stream) new PagedMemoryStream(1024L, 1024); this.long_0 = (long)class1048.MainReader.imethod_21((PagedMemoryStream)this.stream_0); Class444.Create(or.Builder.Version, this.stream_0); if (class1048.StringReader != class1048.MainReader) { this.stream_1 = (Stream) new PagedMemoryStream(1024L, 1024); this.uint_0 = class1048.StringReader.imethod_21((PagedMemoryStream)this.stream_1); } else { this.method_13(or.Builder.Version); } while (class1048.HandleReader.Stream.Position < class1048.HandleReader.Stream.Length) { ReferenceType referenceType; ulong handle = class1048.HandleReader.imethod_34(0UL, true, out referenceType); DxfTypedObjectReference typedObjectReference = new DxfTypedObjectReference(referenceType); this.list_0.Add(typedObjectReference); objectBuilder.ChildBuilders.Add((Interface10)typedObjectReference.method_0(handle)); } }
public override void CopyFrom(DxfHandledObject from, CloneContext cloneContext) { base.CopyFrom(from, cloneContext); DxfProxyEntity dxfProxyEntity = (DxfProxyEntity)from; this.dxfClass_0 = dxfProxyEntity.dxfClass_0 != null?Class906.smethod_9(cloneContext, dxfProxyEntity.dxfClass_0) : (DxfClass)null; this.proxyGraphics_0 = dxfProxyEntity.proxyGraphics_0 != null ? (ProxyGraphics)dxfProxyEntity.proxyGraphics_0.Clone(cloneContext) : (ProxyGraphics)null; this.dwgVersion_0 = dxfProxyEntity.dwgVersion_0; this.short_1 = dxfProxyEntity.short_1; this.bool_2 = dxfProxyEntity.bool_2; this.long_0 = dxfProxyEntity.long_0; if (dxfProxyEntity.stream_0 == null) { this.stream_0 = (Stream)null; } else { long position = dxfProxyEntity.stream_0.Position; dxfProxyEntity.stream_0.Position = 0L; this.stream_0 = (Stream) new PagedMemoryStream(dxfProxyEntity.stream_0, (long)(int)dxfProxyEntity.stream_0.Length); dxfProxyEntity.stream_0.Position = position; } this.uint_0 = dxfProxyEntity.uint_0; if (dxfProxyEntity.stream_1 == null) { this.stream_1 = (Stream)null; } else { long position = dxfProxyEntity.stream_1.Position; dxfProxyEntity.stream_1.Position = 0L; this.stream_1 = (Stream) new PagedMemoryStream(dxfProxyEntity.stream_1, (long)(int)dxfProxyEntity.stream_1.Length); dxfProxyEntity.stream_1.Position = position; } this.list_0.Clear(); foreach (DxfTypedObjectReference typedObjectReference in dxfProxyEntity.list_0) { if (typedObjectReference.ObjectReference.Value == null) { this.list_0.Add(new DxfTypedObjectReference(typedObjectReference.ReferenceType, DxfObjectReference.Null)); } else { this.list_0.Add(new DxfTypedObjectReference(typedObjectReference.ReferenceType, cloneContext.CloneReference((DxfHandledObject)typedObjectReference.ObjectReference.Value).Reference)); } } }
internal static DxfClass smethod_9(CloneContext cloneContext, DxfClass from) { // ISSUE: object of a compiler-generated type is created // ISSUE: variable of a compiler-generated type Class906.Class907 class907 = new Class906.Class907(); // ISSUE: reference to a compiler-generated field class907.dxfClass_0 = from; // ISSUE: reference to a compiler-generated field if (class907.dxfClass_0 == null) { return((DxfClass)null); } // ISSUE: reference to a compiler-generated field if (class907.dxfClass_0.CPlusPlusClassName == null) { throw new Exception("Table record name is null."); } if (cloneContext.SourceModel == cloneContext.TargetModel) { // ISSUE: reference to a compiler-generated field return(class907.dxfClass_0); } // ISSUE: reference to a compiler-generated field // ISSUE: reference to a compiler-generated method DxfClass dxfClass = (DxfClass)cloneContext.GetExistingClone((IGraphCloneable)class907.dxfClass_0) ?? cloneContext.TargetModel.Classes.FirstOrDefault <DxfClass>(new Func <DxfClass, bool>(class907.method_0)); if (dxfClass == null) { switch (cloneContext.ReferenceResolutionType) { case ReferenceResolutionType.CloneMissing: // ISSUE: reference to a compiler-generated field dxfClass = (DxfClass)class907.dxfClass_0.Clone(cloneContext); if (!cloneContext.CloneExact) { cloneContext.TargetModel.Classes.Add(dxfClass); break; } break; case ReferenceResolutionType.FailOnMissing: // ISSUE: reference to a compiler-generated field // ISSUE: reference to a compiler-generated field throw new DxfException(string.Format("Could not resolve reference to CLASS with application/name {0}/{1}", (object)class907.dxfClass_0.ApplicationName, (object)class907.dxfClass_0.CPlusPlusClassName)); } } return(dxfClass); }
public Class1030(DxfModel model) { DxfVersion acadVersion = model.Header.AcadVersion; if (acadVersion < DxfVersion.Dxf15) { this.short_4 = DxfHatch.smethod_2(model.Classes).ClassNumber; this.short_3 = DxfLwPolyline.smethod_2(model.Classes).ClassNumber; this.short_9 = DxfClass.smethod_19(model.Classes).ClassNumber; } if (acadVersion < DxfVersion.Dxf18) { this.short_8 = DxfClass.smethod_15(model.Classes).ClassNumber; this.short_7 = DxfClass.smethod_16(model.Classes).ClassNumber; } this.dxfClass_0 = DxfClass.smethod_0(model.Classes); this.dxfClass_1 = DxfDataTable.smethod_2(model.Classes); this.dxfClass_5 = DxfClass.smethod_1(model.Classes); this.short_0 = DxfClass.smethod_20(model.Classes).ClassNumber; this.short_1 = DxfClass.smethod_21(model.Classes).ClassNumber; this.dxfClass_6 = DxfClass.smethod_5(model.Classes); this.dxfClass_14 = DxfClass.smethod_2(model.Classes); this.dxfClass_10 = DxfClass.smethod_6(model.Classes); this.dxfClass_22 = DxfVisualStyle.smethod_2(model.Classes); this.dxfClass_23 = DxfWipeoutVariables.smethod_2(model.Classes); this.dxfClass_11 = DxfClass.smethod_7(model.Classes); this.short_6 = this.dxfClass_11.ClassNumber; this.short_2 = this.dxfClass_6.ClassNumber; this.dxfClass_7 = DxfMLeader.smethod_2(model.Classes); this.dxfClass_8 = DxfMLeaderStyle.smethod_3(model.Classes); this.dxfClass_9 = DxfMLeaderObjectContextData.smethod_16(model.Classes); this.short_5 = this.dxfClass_10.ClassNumber; this.dxfClass_12 = DxfClass.smethod_3(model.Classes); this.dxfClass_16 = DxfClass.smethod_10(model.Classes); this.dxfClass_17 = DxfClass.smethod_11(model.Classes); this.dxfClass_18 = DxfClass.smethod_14(model.Classes); this.dxfClass_15 = DxfClass.smethod_12(model.Classes); this.dxfClass_19 = DxfClass.smethod_17(model.Classes); this.dxfClass_20 = DxfClass.smethod_18(model.Classes); this.dxfClass_21 = DxfTableContent.smethod_2(model.Classes); this.dxfClass_2 = DxfField.smethod_2(model.Classes); this.dxfClass_3 = DxfFieldList.smethod_2(model.Classes); this.dxfClass_4 = DxfGeoData.smethod_2(model.Classes); this.dxfClass_13 = DxfPlotSettings.smethod_2(model.Classes); this.class1032_0 = new Class1030.Class1032(model); this.class1031_0 = new Class1030.Class1031(model); }
internal static DxfClass smethod_16(DxfClassCollection classes) { DxfClass dxfClass = DxfClass.GetClassWithDxfName(classes, "ACDB_MLEADEROBJECTCONTEXTDATA_CLASS"); if (dxfClass == null) { dxfClass = new DxfClass(); dxfClass.ApplicationName = "ObjectDBX Classes"; dxfClass.ClassNumber = (short)(500 + classes.Count); dxfClass.DwgVersion = DwgVersion.Dwg1021; dxfClass.MaintenanceVersion = (short)0; dxfClass.ProxyFlags = ProxyFlags.EraseAllowed | ProxyFlags.CloningAllowed | ProxyFlags.DisablesProxyWarningDialog; dxfClass.CPlusPlusClassName = "AcDbMLeaderObjectContextData"; dxfClass.DxfName = "ACDB_MLEADEROBJECTCONTEXTDATA_CLASS"; dxfClass.ItemClassId = (short)499; classes.Add(dxfClass); } return(dxfClass); }
internal static DxfClass smethod_2(DxfClassCollection classes) { DxfClass dxfClass = DxfClass.GetClassWithDxfName(classes, "ACAD_PROXY_ENTITY"); if (dxfClass == null) { dxfClass = new DxfClass(); dxfClass.ApplicationName = "ObjectDBX Classes"; dxfClass.ClassNumber = (short)(500 + classes.Count); dxfClass.DwgVersion = DwgVersion.Dwg0; dxfClass.MaintenanceVersion = (short)0; dxfClass.ProxyFlags = ProxyFlags.None; dxfClass.CPlusPlusClassName = "AcDbProxyEntity"; dxfClass.DxfName = "ACAD_PROXY_ENTITY"; dxfClass.ItemClassId = (short)498; classes.Add(dxfClass); } return(dxfClass); }
internal static DxfClass smethod_3(DxfClassCollection classes) { DxfClass dxfClass = DxfClass.GetClassWithDxfName(classes, "MLEADERSTYLE"); if (dxfClass == null) { dxfClass = new DxfClass(); dxfClass.ApplicationName = "ACDB_MLEADERSTYLE_CLASS"; dxfClass.ClassNumber = (short)(500 + classes.Count); dxfClass.DwgVersion = DwgVersion.Dwg1021; dxfClass.MaintenanceVersion = (short)25; dxfClass.ProxyFlags = (ProxyFlags)4095; dxfClass.CPlusPlusClassName = "AcDbMLeaderStyle"; dxfClass.DxfName = "MLEADERSTYLE"; dxfClass.ItemClassId = (short)499; classes.Add(dxfClass); } return(dxfClass); }
internal static DxfClass smethod_2(DxfClassCollection classes) { DxfClass dxfClass = DxfClass.GetClassWithDxfName(classes, "WIPEOUTVARIABLES"); if (dxfClass == null) { dxfClass = new DxfClass(); dxfClass.ApplicationName = "ISM"; dxfClass.ClassNumber = (short)(500 + classes.Count); dxfClass.DwgVersion = DwgVersion.Dwg1015; dxfClass.MaintenanceVersion = (short)0; dxfClass.ProxyFlags = ProxyFlags.R13FormatProxy; dxfClass.CPlusPlusClassName = "AcDbWipeoutVariables"; dxfClass.DxfName = "WIPEOUTVARIABLES"; dxfClass.ItemClassId = (short)499; classes.Add(dxfClass); } return(dxfClass); }
internal static DxfClass smethod_2(DxfClassCollection classes) { DxfClass dxfClass = DxfClass.GetClassWithDxfName(classes, "PLOTSETTINGS"); if (dxfClass == null) { dxfClass = new DxfClass(); dxfClass.ApplicationName = "ObjectDBX Classes"; dxfClass.ClassNumber = (short)(500 + classes.Count); dxfClass.DwgVersion = DwgVersion.Dwg1021; dxfClass.MaintenanceVersion = (short)45; dxfClass.ProxyFlags = (ProxyFlags)4095; dxfClass.CPlusPlusClassName = "AcDbGeoData"; dxfClass.DxfName = "GEODATA"; dxfClass.ItemClassId = (short)499; classes.Add(dxfClass); } return(dxfClass); }
internal static DxfClass smethod_2(DxfClassCollection classes) { DxfClass dxfClass = DxfClass.GetClassWithDxfName(classes, "FIELD"); if (dxfClass == null) { dxfClass = new DxfClass(); dxfClass.ApplicationName = "ObjectDBX Classes"; dxfClass.ClassNumber = (short)(500 + classes.Count); dxfClass.DwgVersion = DwgVersion.Dwg1018; dxfClass.MaintenanceVersion = (short)0; dxfClass.ProxyFlags = ProxyFlags.CloningAllowed | ProxyFlags.DisablesProxyWarningDialog; dxfClass.CPlusPlusClassName = "AcDbField"; dxfClass.DxfName = "FIELD"; dxfClass.ItemClassId = (short)499; classes.Add(dxfClass); } return(dxfClass); }
public Class1032(DxfModel model) { this.dxfClass_0 = DxfClass.smethod_61(model.Classes); this.dxfClass_1 = DxfClass.smethod_22(model.Classes); this.dxfClass_2 = DxfClass.smethod_50(model.Classes); this.dxfClass_3 = DxfClass.smethod_51(model.Classes); this.dxfClass_4 = DxfClass.smethod_52(model.Classes); this.dxfClass_5 = DxfClass.smethod_60(model.Classes); this.dxfClass_6 = DxfClass.smethod_36(model.Classes); this.dxfClass_7 = DxfClass.smethod_37(model.Classes); this.dxfClass_8 = DxfClass.smethod_47(model.Classes); this.dxfClass_9 = DxfClass.smethod_46(model.Classes); this.dxfClass_10 = DxfClass.smethod_48(model.Classes); this.dxfClass_11 = DxfClass.smethod_49(model.Classes); this.dxfClass_12 = DxfClass.smethod_45(model.Classes); this.dxfClass_13 = DxfClass.smethod_38(model.Classes); this.dxfClass_14 = DxfClass.smethod_40(model.Classes); this.dxfClass_15 = DxfClass.smethod_44(model.Classes); this.dxfClass_16 = DxfClass.smethod_39(model.Classes); this.dxfClass_17 = DxfClass.smethod_43(model.Classes); this.dxfClass_18 = DxfClass.smethod_41(model.Classes); this.dxfClass_19 = DxfClass.smethod_42(model.Classes); this.dxfClass_20 = DxfClass.smethod_23(model.Classes); this.dxfClass_21 = DxfClass.smethod_24(model.Classes); this.dxfClass_22 = DxfClass.smethod_25(model.Classes); this.dxfClass_23 = DxfClass.smethod_26(model.Classes); this.dxfClass_24 = DxfClass.smethod_27(model.Classes); this.dxfClass_25 = DxfClass.smethod_28(model.Classes); this.dxfClass_26 = DxfClass.smethod_29(model.Classes); this.dxfClass_27 = DxfClass.smethod_30(model.Classes); this.dxfClass_28 = DxfClass.smethod_31(model.Classes); this.dxfClass_29 = DxfClass.smethod_32(model.Classes); this.dxfClass_30 = DxfClass.smethod_33(model.Classes); this.dxfClass_31 = DxfClass.smethod_34(model.Classes); this.dxfClass_32 = DxfClass.smethod_35(model.Classes); this.dxfClass_33 = DxfClass.smethod_53(model.Classes); this.dxfClass_34 = DxfClass.smethod_54(model.Classes); this.dxfClass_35 = DxfClass.smethod_55(model.Classes); this.dxfClass_36 = DxfClass.smethod_56(model.Classes); this.dxfClass_37 = DxfClass.smethod_57(model.Classes); this.dxfClass_38 = DxfClass.smethod_58(model.Classes); this.dxfClass_39 = DxfClass.smethod_59(model.Classes); }
internal static DxfClass smethod_2(DxfClassCollection classes) { DxfClass dxfClass = DxfClass.GetClassWithDxfName(classes, "DATATABLE"); if (dxfClass == null) { dxfClass = new DxfClass(); dxfClass.ApplicationName = "ObjectDBX Classes"; dxfClass.ClassNumber = (short)(500 + classes.Count); dxfClass.DwgVersion = DwgVersion.Dwg1015; dxfClass.MaintenanceVersion = (short)20; dxfClass.ProxyFlags = ProxyFlags.None; dxfClass.CPlusPlusClassName = "AcDbDataTable"; dxfClass.DxfName = "DATATABLE"; dxfClass.ItemClassId = (short)499; classes.Add(dxfClass); } return(dxfClass); }
public Class1031(DxfModel model) { this.dxfClass_0 = DxfClass.smethod_63(model.Classes); this.dxfClass_1 = DxfClass.smethod_64(model.Classes); this.dxfClass_2 = DxfClass.smethod_65(model.Classes); this.dxfClass_3 = DxfClass.smethod_66(model.Classes); this.dxfClass_4 = DxfClass.smethod_67(model.Classes); this.dxfClass_5 = DxfClass.smethod_68(model.Classes); this.dxfClass_6 = DxfClass.smethod_69(model.Classes); this.dxfClass_7 = DxfClass.smethod_70(model.Classes); this.dxfClass_8 = DxfClass.smethod_71(model.Classes); this.dxfClass_9 = DxfClass.smethod_72(model.Classes); this.dxfClass_10 = DxfClass.smethod_73(model.Classes); this.dxfClass_11 = DxfClass.smethod_74(model.Classes); this.dxfClass_12 = DxfClass.smethod_75(model.Classes); this.dxfClass_13 = DxfClass.smethod_76(model.Classes); this.dxfClass_14 = DxfClass.smethod_77(model.Classes); this.dxfClass_15 = DxfClass.smethod_78(model.Classes); this.dxfClass_16 = DxfClass.smethod_79(model.Classes); }
private bool method_17( DxfReader r, Class285 objectBuilder, ref long graphicsDataSizeInBytes, ref PagedMemoryStream graphicsData, ref Stream currentStream) { switch (r.CurrentGroup.Code) { case 1: string cPlusPlusClassName = (string)r.CurrentGroup.Value; this.dxfClass_0 = r.Model.Classes.GetClassWithCPlusPlusName(cPlusPlusClassName); break; case 70: this.bool_2 = (short)r.CurrentGroup.Value != (short)0; break; case 90: int num1 = (int)r.CurrentGroup.Value; break; case 91: int num2 = (int)r.CurrentGroup.Value; this.dxfClass_0 = r.Model.Classes.GetClassWithClassNumber((short)num2); break; case 92: graphicsDataSizeInBytes = (long)(int)r.CurrentGroup.Value; if (graphicsData == null) { graphicsData = new PagedMemoryStream((long)(int)graphicsDataSizeInBytes, System.Math.Min((int)graphicsDataSizeInBytes, 65536)); } else { graphicsData.SetLength(graphicsDataSizeInBytes); } currentStream = (Stream)graphicsData; break; case 93: this.long_0 = (long)(int)r.CurrentGroup.Value; if (this.long_0 != 0L) { int val1 = (int)this.long_0 + 7 >> 3; if (this.stream_0 == null) { this.stream_0 = (Stream) new PagedMemoryStream((long)val1, System.Math.Min(val1, 65536)); } else { this.stream_0.SetLength((long)val1); } } currentStream = this.stream_0; break; case 94: int num3 = (int)r.CurrentGroup.Value; break; case 95: int num4 = (int)r.CurrentGroup.Value; this.dwgVersion_0 = (DwgVersion)(num4 & (int)ushort.MaxValue); this.short_1 = (short)(num4 >> 16); break; case 96: this.uint_0 = (uint)(int)r.CurrentGroup.Value; if (this.uint_0 != 0U) { int val1 = (int)(this.uint_0 + 7U >> 3); if (this.stream_1 == null) { this.stream_1 = (Stream) new PagedMemoryStream((long)val1, System.Math.Min(val1, 65536)); } else { this.stream_1.SetLength((long)val1); } } currentStream = this.stream_1; break; case 160: graphicsDataSizeInBytes = (long)r.CurrentGroup.Value; if (graphicsData == null) { graphicsData = new PagedMemoryStream((long)(int)graphicsDataSizeInBytes, System.Math.Min((int)graphicsDataSizeInBytes, 65536)); } else { graphicsData.SetLength(graphicsDataSizeInBytes); } currentStream = (Stream)graphicsData; break; case 161: this.long_0 = (long)r.CurrentGroup.Value; if (this.long_0 != 0L) { int val1 = (int)this.long_0 + 7 >> 3; if (this.stream_0 == null) { this.stream_0 = (Stream) new PagedMemoryStream((long)val1, System.Math.Min(val1, 65536)); } else { this.stream_0.SetLength((long)val1); } } currentStream = this.stream_0; break; case 162: this.uint_0 = (uint)(long)r.CurrentGroup.Value; if (this.uint_0 != 0U) { int val1 = (int)this.uint_0 + 7 >> 3; if (this.stream_1 == null) { this.stream_1 = (Stream) new PagedMemoryStream((long)val1, System.Math.Min(val1, 65536)); } else { this.stream_1.SetLength((long)val1); } } currentStream = this.stream_1; break; case 310: if (currentStream == null) { throw new Exception("No stream size specified."); } byte[] buffer1 = (byte[])r.CurrentGroup.Value; currentStream.Write(buffer1, 0, buffer1.Length); break; case 311: if (currentStream == null) { throw new Exception("No stream size specified."); } if (currentStream != this.stream_1) { throw new Exception("Wrong stream"); } byte[] buffer2 = (byte[])r.CurrentGroup.Value; currentStream.Write(buffer2, 0, buffer2.Length); break; case 330: this.method_19(r, (Class259)objectBuilder, ReferenceType.SoftPointerReference); break; case 340: this.method_19(r, (Class259)objectBuilder, ReferenceType.HardPointerReference); break; case 350: this.method_19(r, (Class259)objectBuilder, ReferenceType.SoftOwnershipReference); break; case 360: this.method_19(r, (Class259)objectBuilder, ReferenceType.HardOwnershipReference); break; default: return(this.method_9(r, objectBuilder)); } r.method_85(); return(true); }