Esempio n. 1
0
        private BPoint ReadBPoint()
        {
            int id     = _reader.ReadInt32();
            int length = _reader.ReadInt32();

            var bpoint = new BPoint()
            {
                Id = id
            };

            bpoint.Connected = new int[length];
            for (int i = 0; i < length; i++)
            {
                int connected = _reader.ReadInt32();
                bpoint.Connected[i] = connected;
            }

            double x     = _reader.ReadDouble();
            double y     = _reader.ReadDouble();
            var    point = new XPoint(x, y)
            {
                Id = id
            };

            bpoint.Point = point;
            return(bpoint);
        }
Esempio n. 2
0
        public BPoint[] Process(ICanvas canvas)
        {
            _nextId = 1;
            _points = new List <IPoint>();

            canvas.Id = NextId();
            Process(canvas.Children);

            var bpoints = new BPoint[_points.Count];

            for (int i = 0; i < _points.Count; i++)
            {
                var point  = _points[i];
                var bpoint = new BPoint();

                bpoint.Id        = point.Id;
                bpoint.Connected = new int[point.Connected.Count];

                for (int j = 0; j < point.Connected.Count; j++)
                {
                    bpoint.Connected[j] = point.Connected[j].Id;
                }

                bpoint.Point = point;
                bpoints[i]   = bpoint;
            }

            return(bpoints);
        }
Esempio n. 3
0
 private void Write(ref BPoint bpoint)
 {
     _writer.Write(bpoint.Id);
     _writer.Write(bpoint.Connected.Length);
     for (int i = 0; i < bpoint.Connected.Length; i++)
     {
         Debug.Assert(bpoint.Connected[i] != 0);
         _writer.Write(bpoint.Connected[i]);
     }
     _writer.Write(bpoint.Point.X);
     _writer.Write(bpoint.Point.Y);
 }
Esempio n. 4
0
        public BPoint[] Process(ICanvas canvas)
        {
            _nextId = 1;
            _points = new List<IPoint>();

            canvas.Id = NextId();
            Process(canvas.Children);

            var bpoints = new BPoint[_points.Count];

            for (int i = 0; i < _points.Count; i++)
            {
                var point = _points[i];
                var bpoint = new BPoint();

                bpoint.Id = point.Id;
                bpoint.Connected = new int[point.Connected.Count];

                for (int j = 0; j < point.Connected.Count; j++)
                {
                    bpoint.Connected[j] = point.Connected[j].Id;
                }

                bpoint.Point = point;
                bpoints[i] = bpoint;
            }

            return bpoints;
        }
Esempio n. 5
0
 private void Write(ref BPoint[] bpoints)
 {
     _writer.Write(bpoints.Length);
     for (int i = 0; i < bpoints.Length; i++)
     {
         Write(ref bpoints[i]);
     }
 }
Esempio n. 6
0
 private void Write(ref BPoint bpoint)
 {
     _writer.Write(bpoint.Id);
     _writer.Write(bpoint.Connected.Length);
     for (int i = 0; i < bpoint.Connected.Length; i++)
     {
         Debug.Assert(bpoint.Connected[i] != 0);
         _writer.Write(bpoint.Connected[i]);
     }
     _writer.Write(bpoint.Point.X);
     _writer.Write(bpoint.Point.Y);
 }
Esempio n. 7
0
        public void Write(BinaryWriter writer, ref BPoint[] bpoints, ICanvas canvas)
        {
            _writer = writer;

            Write(ref bpoints);
            Write(canvas);

            _writer = null;
        }
Esempio n. 8
0
        private BPoint ReadBPoint()
        {
            int id = _reader.ReadInt32();
            int length = _reader.ReadInt32();

            var bpoint = new BPoint()
            {
                Id = id
            };

            bpoint.Connected = new int[length];
            for (int i = 0; i < length; i++)
            {
                int connected = _reader.ReadInt32();
                bpoint.Connected[i] = connected;
            }

            double x = _reader.ReadDouble();
            double y = _reader.ReadDouble();
            var point = new XPoint(x, y)
            {
                Id = id
            };

            bpoint.Point = point;
            return bpoint;
        }