private void AssertPixelIsOnScreen(ScreenAdapter.ScreenAdapter screenAdapter, Point2D pixel) { Assert.True(pixel.X >= 0); Assert.True(pixel.X <= _screenWidth); Assert.True(pixel.Y >= 0); Assert.True(pixel.Y <= _screenHeight); }
public void ScreenInfoInitialization() { var points = new [] { new Point(90000, 30000), new Point(30000, 90000), new Point(33000, 33000), }; var screenAdapter = new ScreenAdapter.ScreenAdapter(_screenWidth, _screenHeight, new double[4], 1); Assert.NotNull(screenAdapter); Assert.AreEqual(120, screenAdapter.Zoom); Assert.AreEqual(new Point(30000, 30000), screenAdapter.ZeroPoint); Assert.AreEqual(new Point(30000, 30000), screenAdapter.Bbox.LeftDown); Assert.AreEqual(new Point(150000, 90000), screenAdapter.Bbox.RightTop); }
public void OpenMap(Guid mapId) { Task.Run(() => { var extrimalPoints = _dbService.GetExtrimalPoints(mapId); // TODO убрать в команду _logger.Log("Initialize screen adapter..."); _screenAdapter = new ScreenAdapter.ScreenAdapter(_canvas.Width, _canvas.Height, extrimalPoints); _logger.Log("Done"); DrawMap(mapId); IsMapLoaded = true; _viewType = ViewType.FROM_DATABASE; _currentMapId = mapId; }); }
public void PointsToPixelHasCorrectCoordinates() { var points = new[] { new Point(90000, 30000), new Point(30000, 90000), new Point(33000, 33000), }; var screenAdapter = new ScreenAdapter.ScreenAdapter(_screenWidth, _screenHeight, new double[4], 1); var pixel0 = screenAdapter.ToPixel(points[0]); var pixel1 = screenAdapter.ToPixel(points[1]); var pixel2 = screenAdapter.ToPixel(points[2]); AssertPixelIsOnScreen(screenAdapter, pixel0); AssertPixelIsOnScreen(screenAdapter, pixel1); AssertPixelIsOnScreen(screenAdapter, pixel2); }
public void OpenMap() { using (var dialog = new OpenFileDialog()) { //dialog.Filter = Resources.FileDialogFilter; var result = dialog.ShowDialog(); if (result == DialogResult.OK) { var filename = dialog.FileName; Task.Run(() => { _mapFileName = filename; _logger.Log("Reading map from file..."); var map = _dataReader.ReadFromFile(_mapFileName); _logger.Log("Done"); // TODO убрать в команду _logger.Log("Initialize screen adapter..."); _screenAdapter = new ScreenAdapter.ScreenAdapter(_canvas.Width, _canvas.Height, map.Polygons.SelectMany(p => p.Paths).SelectMany(p => p.Points).ToArray()); _logger.Log("Done"); _polygons = map.Polygons.ToList(); _drawablePolygons.Clear(); _drawablePolygons = map.Polygons.Select(p => new DrawablePolygon(p, _screenAdapter, _drawerFactory)).ToList(); _canvas.Invalidate(); IsMapLoaded = true; _viewType = ViewType.FROM_FILE; }); } } }
public DrawablePolygon(Polygon geometry, ScreenAdapter.ScreenAdapter _screenAdapter, IDrawerFactory drawerFactory) { Geometry = geometry; this._screenAdapter = _screenAdapter; _drawerFactory = drawerFactory; }