private static ImageSetLayer AddImageSet(string name, bool gotoTarget, ImagesetLoaded loaded, Imageset imageset) { if (string.IsNullOrWhiteSpace(name)) { name = LayerManager.GetNextImageSetName(); } ImageSetLayer imagesetLayer = LayerManager.AddImageSetLayerCallback(imageset, name, loaded); if (gotoTarget) { double zoom = imageset.GuessZoomSetting(WWTControl.Singleton.RenderContext.ViewCamera.Zoom); WWTControl.Singleton.GotoRADecZoom( imageset.ViewCenterX / 15, imageset.ViewCenterY, zoom, false, null ); } return(imagesetLayer); }
private static ImageSetLayer AddFitsLayer(string url, string name, bool gotoTarget, ImagesetLoaded loaded) { if (string.IsNullOrWhiteSpace(name)) { name = LayerManager.GetNextFitsName(); } ImageSetLayer imagesetLayer = new ImageSetLayer(); Imageset imageset = new Imageset(); WcsLoaded wcsLoaded = delegate(WcsImage wcsImage) { if (((FitsImage)wcsImage).errored) { return; } int width = (int)wcsImage.SizeX; int height = (int)wcsImage.SizeY; //TODO make sure dataset URL is unique imageset.SetInitialParameters( wcsImage.Description, wcsImage.Filename, ImageSetType.Sky, BandPass.Visible, ProjectionType.SkyImage, Util.GetHashCode(wcsImage.Filename), 0, 0, wcsImage.ScaleY, ".fits", wcsImage.ScaleX > 0, "", wcsImage.CenterX, wcsImage.CenterY, wcsImage.Rotation, false, "", false, false, 1, wcsImage.ReferenceX, wcsImage.ReferenceY, wcsImage.Copyright, wcsImage.CreditsUrl, "", "", 0, "" ); imageset.WcsImage = wcsImage; imagesetLayer.ImageSet = imageset; LayerManager.AddFitsImageSetLayer(imagesetLayer, name); if (gotoTarget) { double zoom = imageset.GuessZoomSetting(WWTControl.Singleton.RenderContext.ViewCamera.Zoom); WWTControl.Singleton.GotoRADecZoom( wcsImage.ViewCenterX / 15, wcsImage.ViewCenterY, zoom, false, null ); } if (loaded != null) { loaded(imagesetLayer); } }; if (string.IsNullOrWhiteSpace(name)) { name = LayerManager.GetNextFitsName(); } if (RenderContext.UseGlVersion2) { new FitsImage(imageset, url, null, wcsLoaded); } else { new FitsImageJs(imageset, url, null, wcsLoaded); } return(imagesetLayer); }