示例#1
0
            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;
                }
            }
示例#2
0
            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);
                }
            }