private void method_18(DxfReader r, Class259 objectBuilder) { this.bool_2 = true; DxfVersion version = r.ModelBuilder.Version; this.dwgVersion_0 = Class885.smethod_3(version); if (this.stream_0 == null) { this.stream_0 = (Stream) new PagedMemoryStream(1024L, 1024); } if (this.dwgVersion_0 > DwgVersion.Dwg1018 && this.stream_1 == null) { this.stream_1 = (Stream) new PagedMemoryStream(1024L, 1024); } r.method_85(); Encoding encoding = Encodings.GetEncoding((int)r.Model.Header.DrawingCodePage); Interface40 nterface40 = (Interface40) new Class725(this.stream_0, encoding, version); DxfProxyEntity.Class361 class361 = new DxfProxyEntity.Class361((Interface29) new Class990((Stream)null, nterface40, this.dwgVersion_0 > DwgVersion.Dwg1018 ? (Interface40) new Class728(this.stream_1, encoding, version) : nterface40, nterface40)); while (r.CurrentGroup.Code != 0) { switch (Class820.smethod_2(r.CurrentGroup.Code)) { case Enum5.const_8: case Enum5.const_9: case Enum5.const_14: case Enum5.const_15: ulong handle = (ulong)r.CurrentGroup.Value; DxfHandledObject dxfHandledObject = new DxfHandledObject(); dxfHandledObject.SetHandle(handle); DxfObjectReference dxfObjectReference = new DxfObjectReference((IDxfHandledObject)dxfHandledObject); Struct18 group1 = new Struct18(r.CurrentGroup.Code, (object)dxfObjectReference); class361.imethod_0(group1); r.method_85(); continue; case Enum5.const_13: int code = r.CurrentGroup.Code; WW.Math.Point3D point3D = new WW.Math.Point3D((double)r.CurrentGroup.Value, 0.0, 0.0); r.method_85(); if (r.CurrentGroup.Code == code + 10) { point3D.Y = (double)r.CurrentGroup.Value; r.method_85(); if (r.CurrentGroup.Code == code + 20) { point3D.Z = (double)r.CurrentGroup.Value; r.method_85(); } } Struct18 group2 = new Struct18(code, (object)point3D); class361.imethod_0(group2); continue; default: class361.imethod_0(r.CurrentGroup); r.method_85(); continue; } } }
internal override void Write(Class432 ow) { base.Write(ow); Interface29 objectWriter = ow.ObjectWriter; if (ow.Version > DxfVersion.Dxf14) { objectWriter.imethod_33(this.dxfClass_0 == null ? 0 : (int)this.dxfClass_0.ClassNumber); if (ow.Version > DxfVersion.Dxf15) { objectWriter.imethod_4("cn:" + (this.dxfClass_0 == null ? string.Empty : this.dxfClass_0.CPlusPlusClassName)); } objectWriter.imethod_33((int)(this.dwgVersion_0 | (DwgVersion)((int)this.short_1 << 16))); objectWriter.imethod_14(this.bool_2); if (this.bool_2) { objectWriter.imethod_33(this.dxfClass_0 == null ? 0 : (int)this.dxfClass_0.ItemClassId); objectWriter.imethod_33(this.dxfClass_0 == null ? 0 : (int)this.dxfClass_0.ClassNumber); } } else { objectWriter.imethod_33(this.dxfClass_0 == null ? 0 : (int)this.dxfClass_0.ItemClassId); objectWriter.imethod_33(this.dxfClass_0 == null ? 0 : (int)this.dxfClass_0.ClassNumber); } Interface30 binaryDataReader = Class444.Create(ow.Version, this.stream_0); binaryDataReader.imethod_4(0L); Interface30 stringDataReader = (Interface30)null; if (this.stream_1 != null) { stringDataReader = Class444.Create(ow.Version, this.stream_1); stringDataReader.imethod_4(0L); } if (this.bool_2 && this.method_23(ow.Version)) { DxfProxyEntity.Class362 class362 = new DxfProxyEntity.Class362(this.dwgVersion_0, this.long_0, binaryDataReader, this.uint_0, stringDataReader, this.list_0); DxfProxyEntity.Class361 class361 = new DxfProxyEntity.Class361(ow.ObjectWriter); while (!class362.IsAtEndOfStream) { class361.imethod_0(class362.method_0()); } } else { this.method_14(ow.ObjectWriter, this.stream_0, this.long_0); if (ow.Version > DxfVersion.Dxf18) { if (stringDataReader != null && this.uint_0 > 0U) { this.method_14((Interface29)((Class990)ow.ObjectWriter).StringBitStreamWriter, this.stream_1, (long)this.uint_0); } } else { this.method_15(ow.ObjectWriter); } } foreach (DxfTypedObjectReference typedObjectReference in this.list_0) { objectWriter.imethod_42(typedObjectReference.ReferenceType, (DxfHandledObject)typedObjectReference.ObjectReference.Value); } }