private static ImageSetLayer AddImageSet(string name, bool gotoTarget, ImagesetLoaded loaded, Imageset imageset) { if (string.IsNullOrWhiteSpace(name)) { name = LayerManager.GetNextImageSetName(); } ImageSetLayer imagesetLayer = LayerManager.AddImageSetLayer(imageset, name); if (gotoTarget) { WWTControl.Singleton.GotoRADecZoom(imageset.CenterX / 15, imageset.CenterY, WWTControl.Singleton.RenderContext.ViewCamera.Zoom, false, null); } if (loaded != null) { loaded(imagesetLayer); } return(imagesetLayer); }
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); }
public ImageSetLayer AddImageSetLayer(string url, string mode, string name, bool gotoTarget, ImagesetLoaded loaded) { if (mode != null && mode.ToLowerCase() == "fits") { return(AddFitsLayer(url, name, gotoTarget, loaded)); } else if (mode != null && mode.ToLowerCase() == "preloaded") { Imageset imageset = WWTControl.Singleton.GetImageSetByUrl(url); if (imageset != null) { return(AddImageSet(name, gotoTarget, loaded, imageset)); } } else { Imageset imageset = WWTControl.Singleton.GetImageSetByUrl(url); if (imageset != null) { return(AddImageSet(name, gotoTarget, loaded, imageset)); } else if (ContainsFitsLikeExtentsion(url)) { return(AddFitsLayer(url, name, gotoTarget, loaded)); } } return(null); }
public ImageSetLayer LoadFitsLayer(string url, string name, bool gotoTarget, ImagesetLoaded loaded) { return(AddImageSetLayer(url, "fits", name, gotoTarget, loaded)); }
public ImageSetLayer LoadFitsLayer(string url, string name, bool gotoTarget, ImagesetLoaded loaded) { if (string.IsNullOrWhiteSpace(name)) { name = LayerManager.GetNextFitsName(); } ImageSetLayer imagesetLayer = new ImageSetLayer(); FitsImage img = new FitsImage(url, null, delegate(WcsImage wcsImage) { int width = (int)wcsImage.SizeX; int height = (int)wcsImage.SizeY; Imageset imageset = Imageset.Create( wcsImage.Description, Util.GetHashCode(wcsImage.Filename).ToString(), ImageSetType.Sky, BandPass.Visible, ProjectionType.SkyImage, Util.GetHashCode(wcsImage.Filename), 0, 0, 256, wcsImage.ScaleY, ".tif", 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); LayerManager.LoadTree(); if (gotoTarget) { WWTControl.Singleton.GotoRADecZoom(wcsImage.CenterX / 15, wcsImage.CenterY, 10 * wcsImage.ScaleY * height, false); } if (loaded != null) { loaded(imagesetLayer); } }); return(imagesetLayer); }