public void Read(BinaryReader br) { type = br.ReadByte(); parts = (int)CBF.SwapWord(br.ReadUInt32()); switch (type) { case 1: break; case 2: ReadMultiLine(br); break; case 3: break; } }
private void ReadMultiLine(BinaryReader br) { geometry = new Polyline(); for (int i = 0; i < parts; i++) { gView.Framework.Geometry.Path path = new gView.Framework.Geometry.Path(); int vertices = (int)CBF.SwapWord(br.ReadUInt32()); double x = 0.0, y = 0.0; for (int v = 0; v < vertices; v++) { x += (double)br.ReadDecimal(); y += (double)br.ReadDecimal(); path.AddPoint(new Point(x, y)); } ((Polyline)geometry).AddPath(path); } }