예제 #1
0
        public ImageSetHelper(ImageSetType dataSetType, BandPass bandPass)
        {
            generic          = true;
            this.name        = "Generic";
            this.sparse      = false;
            this.dataSetType = dataSetType;

            this.bandPass        = bandPass;
            this.quadTreeTileMap = "";
            this.url             = "";
            this.levels          = 0;
            this.baseTileDegrees = 0;
            this.imageSetID      = 0;
            this.extension       = "";
            this.projection      = ProjectionType.Equirectangular;
            this.bottomsUp       = false;
            this.baseLevel       = 0;
            this.mercator        = (projection == ProjectionType.Mercator);
            this.centerX         = 0;
            this.centerY         = 0;
            this.rotation        = 0;
            //todo add scale
            this.thumbnailUrl = "";

            matrix = Matrix3d.Identity;
            matrix.Multiply(Matrix3d.RotationX((((Rotation)) / 180f * Math.PI)));
            matrix.Multiply(Matrix3d.RotationZ(((CenterY) / 180f * Math.PI)));
            matrix.Multiply(Matrix3d.RotationY((((360 - CenterX) + 180) / 180f * Math.PI)));

            Earth3d.AddImageSetToTable(this.GetHash(), this);
        }
예제 #2
0
        public static void AddFolderToSearch(Folder parent, bool sky)
        {
            foreach (Object child in parent.Children)
            {
                if (child is IImageSet)
                {
                    IImageSet childImageset = (IImageSet)child;
                    if (Earth3d.ProjectorServer)
                    {
                        Earth3d.AddImageSetToTable(childImageset.GetHash(), childImageset);
                    }
                }
                if (child is IPlace)
                {
                    IPlace place = (IPlace)child;
                    if (place.StudyImageset != null)
                    {
                        if (Earth3d.ProjectorServer)
                        {
                            Earth3d.AddImageSetToTable(place.StudyImageset.GetHash(), place.StudyImageset);
                        }
                    }
                    if (place.BackgroundImageSet != null)
                    {
                        if (Earth3d.ProjectorServer)
                        {
                            Earth3d.AddImageSetToTable(place.BackgroundImageSet.GetHash(), place.BackgroundImageSet);
                        }
                    }

                    if (place.StudyImageset != null && (place.StudyImageset.Projection == ProjectionType.Toast || place.StudyImageset.Projection == ProjectionType.Equirectangular))
                    {
                        continue;
                    }
                    AddPlaceToContextSearch(place);
                }
                if (child is Folder)
                {
                    AddFolderToSearch((Folder)child, sky);
                }
            }
        }
예제 #3
0
        public ImageSetHelper(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)
        {
            this.ReferenceFrame = referenceFrame;
            this.MeanRadius     = meanRadius;
            this.altUrl         = alturl;
            this.demUrl         = demUrlIn;
            this.creditsText    = credits;
            this.creditsUrl     = creditsUrl;
            this.offsetY        = offsetY;
            this.offsetX        = offsetX;
            this.widthFactor    = wf;
            this.elevationModel = elevationModel;
            this.defaultSet     = defaultSet;
            this.name           = name;
            this.sparse         = sparse;
            this.dataSetType    = dataSetType;

            this.bandPass        = bandPass;
            this.quadTreeTileMap = quadTreeMap;
            this.url             = url;
            this.levels          = levels;
            this.baseTileDegrees = baseTileDegrees;
            this.imageSetID      = imageSetID;
            this.extension       = extension;
            this.projection      = projection;
            this.bottomsUp       = bottomsUp;
            this.baseLevel       = baseLevel;
            this.mercator        = (projection == ProjectionType.Mercator);
            this.centerX         = centerX;
            this.centerY         = centerY;
            this.rotation        = rotation;
            this.thumbnailUrl    = thumbnailUrl;



            ComputeMatrix();
            //if (Earth3d.multiMonClient)
            {
                Earth3d.AddImageSetToTable(this.GetHash(), this);
            }
        }