public ViewportFoV ChangeFoV(double vFoVDegrees) { ConstellationsInViewport.Clear(); ClearFrameLineMatrix(); ViewportFoV = new ViewportFoV(ViewportFoV.CenterCoordinates, vFoVDegrees, ViewportFoV.OriginalWidth, ViewportFoV.OriginalHeight, ViewportFoV.Rotation); FrameLineMatrix.CalculatePoints(ViewportFoV); UpdateSkyMap(); return(ViewportFoV); }
public async Task Initialize(Coordinates centerCoordinates, double vFoVDegrees, double imageWidth, double imageHeight, double imageRotation, CancellationToken ct) { telescopeMediator.RemoveConsumer(this); AnnotateDSO = true; AnnotateGrid = true; ViewportFoV = new ViewportFoV(centerCoordinates, vFoVDegrees, imageWidth, imageHeight, imageRotation); if (dbConstellations == null) { dbConstellations = await dbInstance.GetConstellationsWithStars(ct); } if (dbDSOs == null) { dbDSOs = (await dbInstance.GetDeepSkyObjects(string.Empty, new DatabaseInteraction.DeepSkyObjectSearchParams(), ct)).ToDictionary(x => x.Id, y => y); } ConstellationsInViewport.Clear(); ClearFrameLineMatrix(); img = new Bitmap((int)ViewportFoV.OriginalWidth, (int)ViewportFoV.OriginalHeight, PixelFormat.Format32bppArgb); g = Graphics.FromImage(img); g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit; g.SmoothingMode = SmoothingMode.AntiAlias; FrameLineMatrix.CalculatePoints(ViewportFoV); if (ConstellationBoundaries.Count == 0) { ConstellationBoundaries = await GetConstellationBoundaries(); } telescopeMediator.RegisterConsumer(this); Initialized = true; UpdateSkyMap(); }