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); }
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); }
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); }
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; }
private void Write(ref BPoint[] bpoints) { _writer.Write(bpoints.Length); for (int i = 0; i < bpoints.Length; i++) { Write(ref bpoints[i]); } }
public void Write(BinaryWriter writer, ref BPoint[] bpoints, ICanvas canvas) { _writer = writer; Write(ref bpoints); Write(canvas); _writer = null; }
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; }