public void SetSerialization(Serialization serialization) { coordinateSystem.SetSerialization(serialization.cs); var axes = coordinateSystem.Axes; var coordinates = new Vec <List <Coordinate> >(axis => axes[axis].Coordinates); geometries = new List <GeometryModel>(); geometries.AddRange(serialization.points.Select(p => PointModel.FromSerialization(p, coordinates))); geometries.AddRange(serialization.lines.Select(l => LineModel.FromSerialization(l, coordinates))); geometries.AddRange(serialization.rectangles.Select(r => RectangleModel.FromSerialization(r, coordinates))); }