public void Read(BinaryReader reader) { Box[0] = reader.ReadDouble(); Box[1] = reader.ReadDouble(); Box[2] = reader.ReadDouble(); Box[3] = reader.ReadDouble(); NumPoints = reader.ReadInt32(); Points = new ShapePoint[NumPoints]; for (int i = 0; i < NumPoints; i++) { ShapePoint shapePoint = new ShapePoint(); shapePoint.Read(reader); Points[i] = shapePoint; } }
internal void ReadShapes(BinaryReader reader) { while (reader.BaseStream.Length != reader.BaseStream.Position) { SwapBytes(reader.ReadInt32()); SwapBytes(reader.ReadInt32()); switch (reader.ReadInt32()) { case 1: { ShapePoint shapePoint = new ShapePoint(); shapePoint.Read(reader); Points.Add(shapePoint); break; } case 8: { MultiPoint multiPoint = new MultiPoint(); multiPoint.Read(reader); MultiPoints.Add(multiPoint); break; } case 3: { PolyLine polyLine2 = new PolyLine(); polyLine2.Read(reader); PolyLines.Add(polyLine2); break; } case 5: { PolyLine polyLine = new PolyLine(); polyLine.Read(reader); Polygons.Add(polyLine); break; } } } }