public ColorBookElm Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); return(this); }
public MaterialPaletteTableElm Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); return(this); }
public AnimationScheduleInfoTableElm Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); return(this); }
public LightSetupTableElm Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); return(this); }
public ViewElm Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); ComponentCount = br.ReadUInt32(); Dummy1 = br.ReadUInt32(); RMatrix = new RotMatrix().Read(br); ViewportGlobalRect = new DRectangle().Read(br); Origin = new DPoint3d().Read(br); Delta = new DPoint3d().Read(br); Y = new double[5]; for (int i = 0; i < 5; i++) { Y[i] = br.ReadDouble(); } ActiveZ = br.ReadDouble(); PixelRect = new SRectangle().Read(br); Flags = new ViewFlags().Read(br); Dummy4 = br.ReadUInt32(); ViewNumber = br.ReadUInt32(); ModelId = br.ReadUInt32(); Z = new UInt32[8]; for (int i = 0; i < 8; i++) { Z[i] = br.ReadUInt32(); } Linkages = V8Linkages.V8GetLinkages(br, Ehdr); Name = V8Linkages.V8GetStringLinkage(Linkages, LinkageKeyValuesString.STRING_LINKAGE_KEY_Name); Description = V8Linkages.V8GetStringLinkage(Linkages, LinkageKeyValuesString.STRING_LINKAGE_KEY_Description); return(this); }
public LevelNameDictionaryTableElm Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); return(this); }
public NamedPresentationTableElm Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); return(this); }
public NamedPresentationTable Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); ComponentCount = br.ReadUInt32(); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); return(this); }
public MaterialPaletteTable Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); ComponentCount = br.ReadUInt32(); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); return(this); }
public AnimationScheduleInfoTable Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); ComponentCount = br.ReadUInt32(); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); return(this); }
public ColorBook Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); ComponentCount = br.ReadUInt32(); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); return(this); }
public ExtendedNonGraphicElm Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); ComponentCount = br.ReadUInt32(); Padding = br.ReadUInt32(); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); return(this); }
public LevelTable Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); ComponentCount = br.ReadUInt32(); Dummy1 = br.ReadUInt32(); ElementId = br.ReadUInt64(); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); return(this); }
public FilterTable Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); ComponentCount = br.ReadUInt32(); Dummy1 = br.ReadUInt32(); ActiveFilterId = br.ReadInt32(); Dummy2 = br.ReadUInt32(); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); return(this); }
public FilterTableElm Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); FilterId = br.ReadUInt32(); ParentFilterId = br.ReadUInt32(); Dummy1 = br.ReadUInt16(); FilterType = br.ReadUInt16(); Dummy2 = br.ReadUInt32(); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); return(this); }
public ViewGroupElm Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); ComponentCount = br.ReadUInt32(); //Views = new Linkages = V8Linkages.V8GetLinkages(br, Ehdr); Name = V8Linkages.V8GetStringLinkage(Linkages, LinkageKeyValuesString.STRING_LINKAGE_KEY_Name); Description = V8Linkages.V8GetStringLinkage(Linkages, LinkageKeyValuesString.STRING_LINKAGE_KEY_Description); return(this); }
public LevelTableElm Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); LevelId = br.ReadUInt32(); ParentId = br.ReadUInt32(); Dummy1 = br.ReadUInt32(); Dummy2 = br.ReadUInt32(); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); LevelName = V8Linkages.V8GetStringLinkage(Linkages, LinkageKeyValuesString.STRING_LINKAGE_KEY_Name); LevelDescription = V8Linkages.V8GetStringLinkage(Linkages, LinkageKeyValuesString.STRING_LINKAGE_KEY_Description); return(this); }
public FontTableElm Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); Dummy1 = br.ReadUInt32(); Dummy2 = br.ReadUInt32(); FontNumber = br.ReadUInt32(); NameLength = br.ReadUInt16(); NameBytes = br.ReadBytes(NameLength); FontName = Encoding.Unicode.GetString(NameBytes); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); return(this); }
public static Linkage[] V8GetLinkages(BinaryReader br, Elm_hdr ehdr) { Linkage[] linkages = Array.Empty <Linkage>(); // saves/restores current reader position // so we can call it whenever we want var currentReaderPosition = br.BaseStream.Position; // read element header int attributesSize = (int)(ehdr.ElementSize - ehdr.AttrOffset); if (attributesSize == 0) { return(linkages); } // seek at beginning of attributes br.BaseStream.Seek(ehdr.HeaderPosition + 2 * ehdr.AttrOffset, SeekOrigin.Begin); int i = 0; do { Array.Resize(ref linkages, linkages.Length + 1); var linkage = new Linkage().Read(br); linkages[^ 1] = linkage;
public static string V8GetElmType(Elm_hdr ehdr) { return(ehdr.Type switch { 1 => "CELL_LIB_ELM", 2 => "CELL_HEADER_ELM", 3 => "LINE_ELM", 4 => "LINE_STRING_ELM", 5 => "GROUP_DATA_ELM", 6 => "SHAPE_ELM", 7 => "TEXT_NODE_ELM", 8 => "DIG_SETDATA_ELM", 9 => "DGNFIL_HEADER_ELM", 10 => "LEV_SYM_ELM", 11 => "CURVE_ELM", 12 => "CMPLX_STRING_ELM", 13 => "CONIC_ELM", 14 => "CMPLX_SHAPE_ELM", 15 => "ELLIPSE_ELM", 16 => "ARC_ELM", 17 => "TEXT_ELM", 18 => "SURFACE_ELM", 19 => "SOLID_ELM", 21 => "BSPLINE_POLE_ELM", 22 => "POINT_STRING_ELM", 23 => "CONE_ELM", 24 => "BSPLINE_SURFACE_ELM", 25 => "BSURF_BOUNDARY_ELM", 26 => "BSPLINE_KNOT_ELM", 27 => "BSPLINE_CURVE_ELM", 28 => "BSPLINE_WEIGHT_ELM", 33 => "DIMENSION_ELM", 34 => "SHAREDCELL_DEF_ELM", 35 => "SHARED_CELL_ELM", 36 => "MULTILINE_ELM", 37 => "ATTRIBUTE_ELM", 38 => "DGNSTORE_COMP", 39 => "DGNSTORE_HDR", 44 => "TYPE44_ELM", 66 => "MICROSTATION_ELM", 87 => "RASTER_HDR", 88 => "RASTER_COMP", 90 => "RASTER_REFERENCE_ELM", 91 => "RASTER_REFERENCE_COMP", 92 => "RASTER_HIERARCHY_ELM", 93 => "RASTER_HIERARCHY_COMP", 94 => "RASTER_FRAME_ELM", 95 => ehdr.Level switch { 1 => "MS_LEVEL_TABLE_ENTRY", 2 => "MS_FONT_TABLE_ENTRY", 3 => "MS_TEXTSTYLE_TABLE_ENTRY", 4 => "MS_FILTER_TABLE_ENTRY", 5 => "MS_DIMSTYLE_TABLE_ENTRY", 6 => "MS_MLINESTYLE_TABLE_ENTRY", 7 => "MS_LSTYLE_NAME_ENTRY", 8 => "MS_LSTYLE_DEF_ENTRY", 9 => "MS_DICTIONARY_TABLE_ENTRY", 10 => "MS_REGAPP_TABLE_ENTRY", 11 => "MS_COLORBOOK_TABLE_ENTRY", 12 => "MS_CUSTOM_RENDERMODE_ENTRY", 16 => "MS_SYMBOLSTYLE_TABLE_ENTRY", 17 => "MS_COLORBOOK_ENTRY", 18 => "MS_MATERIAL_PALETTE_ENTRY", 19 => "MS_LEVEL_NAME_DICTIONARY_TABLE_ENTRY", 20 => "MS_ANIMATION_PARAMETER_TABLE_ENTRY", 21 => "MS_ANIMATION_SCHEDULEINFO_TABLE_ENTRY", 22 => "MS_RENDERSETUP_ENTRY", 23 => "MS_LIGHTSETUP_ENTRY", 24 => "MS_NAMED_PRESENTATION_TABLE_ENTRY", _ => $"???", },
public ModelHeaderElm Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); Dummy1 = br.ReadUInt32(); Dummy2 = br.ReadUInt32(); Dummy3 = br.ReadUInt32(); Dummy4 = br.ReadUInt32(); Dummy5 = br.ReadUInt32(); Dummy6 = br.ReadUInt32(); Dummy7 = br.ReadUInt32(); GridPerReference = br.ReadUInt32(); Dummy9 = br.ReadUInt32(); Dummy10 = br.ReadUInt32(); Dummy11 = br.ReadUInt32(); Dummy12 = br.ReadUInt32(); MuNumerator = br.ReadDouble(); MuDenominator = br.ReadDouble(); SuNumerator = br.ReadDouble(); SuDenominator = br.ReadDouble(); GlobalOrigin = new DPoint3d().Read(br); LastModified = br.ReadDouble(); Y0 = br.ReadInt64(); Y1 = br.ReadInt64(); Y2 = br.ReadInt64(); Y3 = br.ReadInt64(); Y4 = br.ReadInt64(); Y5 = br.ReadInt64(); Y6 = br.ReadInt64(); Y7 = br.ReadInt64(); Y8 = br.ReadInt64(); Y9 = br.ReadInt64(); UorsPerStorage = br.ReadDouble(); StNumerator = br.ReadDouble(); StDenominator = br.ReadDouble(); Z0 = br.ReadDouble(); Z1 = br.ReadDouble(); Z2 = br.ReadDouble(); Z3 = br.ReadDouble(); Z4 = br.ReadDouble(); Z5 = br.ReadDouble(); Z6 = br.ReadDouble(); Z7 = br.ReadDouble(); Z8 = br.ReadDouble(); Z9 = br.ReadDouble(); Z10 = br.ReadDouble(); Z11 = br.ReadDouble(); Z12 = br.ReadDouble(); Z13 = br.ReadDouble(); Z14 = br.ReadDouble(); Z15 = br.ReadDouble(); Z16 = br.ReadDouble(); Z17 = br.ReadDouble(); Z18 = br.ReadDouble(); Z19 = br.ReadDouble(); Z20 = br.ReadDouble(); Z21 = br.ReadDouble(); Z22 = br.ReadDouble(); Z23 = br.ReadDouble(); Z24 = br.ReadDouble(); Z25 = br.ReadDouble(); Z26 = br.ReadDouble(); Z27 = br.ReadDouble(); Z28 = br.ReadDouble(); Z29 = br.ReadDouble(); Z30 = br.ReadDouble(); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); return(this); }
public TestStyleTableElm Read(BinaryReader br) { // read each field Ehdr = new Elm_hdr().Read(br); StyleId = br.ReadUInt64(); // 0x20 FontNumber = br.ReadUInt32(); // 0x28 Dummy1 = br.ReadUInt32(); // 0x2c Width = br.ReadDouble(); // 0x30 Height = br.ReadDouble(); // 0x38 Slant = br.ReadDouble(); // 0x40 LineSpacing = br.ReadDouble(); // 0x48 InterCharSpacing = br.ReadDouble(); // 0x50 UnderlineOffset = br.ReadDouble(); // 0x58 OverlineOffset = br.ReadDouble(); // 0x60 Dummy2 = br.ReadDouble(); // 0x68 LineOffset = new DPoint2d().Read(br); // 0x70 Justification = br.ReadUInt16(); // 0x80 Dummy8 = br.ReadUInt16(); // 0x82 LineLength = br.ReadUInt16(); // 0x84 Dummy9 = br.ReadUInt16(); // 0x86 Dummy10 = br.ReadUInt16(); // 0x88 Dummy11 = br.ReadUInt16(); // 0x8a BackgroudWeight = br.ReadInt32(); // 0x8c BackgroudColor = br.ReadInt32(); // 0x90 BackgroudFillColor = br.ReadInt32(); // 0x94 BackgroundBorder = new DPoint2d().Read(br); // 0x98 UnderlineStyle = br.ReadInt32(); // 0xa8 UnderlineWeight = br.ReadUInt32(); // 0xac UnderlineColor = br.ReadUInt32(); // 0xb0 OverlineStyle = br.ReadInt32(); // 0xb4 OverlineWeight = br.ReadUInt32(); // 0xb8 OverlineColor = br.ReadUInt32(); // 0xbc Dummy4 = br.ReadUInt32(); // 0xc0 Dummy5 = br.ReadUInt32(); // 0xc4 Dummy6 = br.ReadUInt32(); // 0xc8 Dummy7 = br.ReadUInt32(); // 0xcc ColorIndex = br.ReadUInt32(); // 0xd0 Dummy12 = br.ReadUInt32(); // 0xd4 Dummy13 = br.ReadUInt32(); // 0xd8 Dummy14 = br.ReadUInt32(); // 0xdc Dummy15 = br.ReadUInt32(); // 0xe0 Dummy16 = br.ReadUInt32(); // 0xe4 TextStyleNameLength = br.ReadUInt16(); // 0xe8 var namePosition = br.BaseStream.Position; var Data = br.ReadBytes(TextStyleNameLength); if ((TextStyleNameLength >= 4) && (Data[0] == 0xff) && (Data[1] == 0xfe) && (Data[2] == 0x01) && (Data[3] == 0x00)) { // skip UTF32 LE BOM br.BaseStream.Seek(namePosition + 4, SeekOrigin.Begin); TextStyleNameLength -= 4; } else { br.BaseStream.Seek(namePosition, SeekOrigin.Begin); } TextStyleName = System.Text.Encoding.UTF8.GetString(br.ReadBytes(TextStyleNameLength)); Linkages = V8Linkages.V8GetLinkages(br, Ehdr); return(this); }