public static Imageset Create(string name, string url, ImageSetType dataSetType, BandPass bandPass, ProjectionType projection, int imageSetID, int baseLevel, int levels, int tileSize, double baseTileDegrees, string extension, bool bottomsUp, string quadTreeMap, double centerX, double centerY, double rotation, bool sparse, string thumbnailUrl, bool defaultSet, bool elevationModel, int wf, double offsetX, double offsetY, string credits, string creditsUrl, string demUrlIn, string alturl, double meanRadius, string referenceFrame)
        {
            Imageset temp = new Imageset();

            temp.SetInitialParameters(name, url, dataSetType, bandPass, projection, imageSetID, baseLevel, levels, baseTileDegrees, extension, bottomsUp, quadTreeMap, centerX, centerY, rotation, sparse, thumbnailUrl, defaultSet, elevationModel, wf, offsetX, offsetY, credits, creditsUrl, demUrlIn, alturl, meanRadius, referenceFrame);

            return(temp);
        }
Ejemplo 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);
        }