Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }