예제 #1
0
파일: LayerManager.cs 프로젝트: Fav/testww
        private static List <WorldWind.Renderable.RenderableObject> getActiveLayers(WorldWind.Renderable.RenderableObject renderable)
        {
            List <WorldWind.Renderable.RenderableObject> renderableList = new List <WorldWind.Renderable.RenderableObject>();

            if (renderable.IsOn)
            {
                if (renderable is WorldWind.Renderable.RenderableObjectList)
                {
                    WorldWind.Renderable.RenderableObjectList rol = (WorldWind.Renderable.RenderableObjectList)renderable;

                    for (int i = 0; i < rol.ChildObjects.Count; i++)
                    {
                        WorldWind.Renderable.RenderableObject        childRenderable = (WorldWind.Renderable.RenderableObject)rol.ChildObjects[i];
                        List <WorldWind.Renderable.RenderableObject> childList       = getActiveLayers(childRenderable);
                        if (childList != null && childList.Count > 0)
                        {
                            for (int j = 0; j < childList.Count; j++)
                            {
                                renderableList.Add(childList[j]);
                            }
                        }
                    }
                }
                else
                {
                    renderableList.Add(renderable);
                }
            }

            return(renderableList);
        }
예제 #2
0
        private void getRenderButtons(WorldWind.Renderable.RenderableObject ro, System.Collections.ArrayList renderList, System.Collections.ArrayList roList)
        {
            if (ro.MetaData != null)
            {
                string toolbarImagePath = (string)ro.MetaData["ToolBarImagePath"];
                if (toolbarImagePath != null)
                {
                    ResourceCacheEntry cacheEntry = (ResourceCacheEntry)m_ResourceCache[toolbarImagePath];

                    if (cacheEntry == null)
                    {
                        if (System.IO.File.Exists(toolbarImagePath))
                        {
                            renderList.Add(toolbarImagePath);
                            roList.Add(ro);
                        }
                    }
                    else
                    {
                        renderList.Add(toolbarImagePath);
                        roList.Add(ro);
                    }
                }
            }

            if (ro is WorldWind.Renderable.RenderableObjectList)
            {
                WorldWind.Renderable.RenderableObjectList rol = (WorldWind.Renderable.RenderableObjectList)ro;
                for (int i = 0; i < rol.Count; i++)
                {
                    WorldWind.Renderable.RenderableObject childRo = (WorldWind.Renderable.RenderableObject)rol.ChildObjects[i];
                    getRenderButtons(childRo, renderList, roList);
                }
            }
        }
        private void updateNode(TreeNode tn)
        {
            RenderableObjectInfo roi = (RenderableObjectInfo)tn.Tag;

            roi.LastSpotted = System.DateTime.Now;
            if (tn.Checked != roi.Renderable.IsOn)
            {
                tn.Checked = roi.Renderable.IsOn;
                //treeView1.BeginInvoke(new UpdateCheckStateNodeDelegate(this.UpdateCheckStateNode), new object[] {tn, roi.Renderable.IsOn});
            }

            if (roi.Renderable is WorldWind.Renderable.RenderableObjectList)
            {
                WorldWind.Renderable.RenderableObjectList rol = (WorldWind.Renderable.RenderableObjectList)roi.Renderable;
                for (int i = 0; i < rol.Count; i++)
                {
                    WorldWind.Renderable.RenderableObject childRo = (WorldWind.Renderable.RenderableObject)rol.ChildObjects[i];
                    string absolutePath = GetAbsoluteRenderableObjectPath(childRo);

                    TreeNode correctNode = (TreeNode)m_NodeHash[absolutePath];
                    if (correctNode == null)
                    {
                        correctNode = new TreeNode(childRo.Name);
                        RenderableObjectInfo curRoi = new RenderableObjectInfo();
                        curRoi.Renderable = childRo;
                        correctNode.Tag   = curRoi;

                        m_NodeHash.Add(absolutePath, correctNode);
                        treeView1.BeginInvoke(new UpdateChildNodeDelegate(this.UpdateChildNodeTree), new object[] { tn, correctNode });
                    }

                    updateNode(correctNode);
                }
            }
        }
예제 #4
0
파일: LayerManager.cs 프로젝트: Fav/testww
        private static void UpdateAllLayers(SimpleTreeNodeWidget node, WorldWind.Renderable.RenderableObject renderable)
        {
            WorldWind.Renderable.RenderableObject nodeRenderable = (WorldWind.Renderable.RenderableObject)node.Tag;
            if (nodeRenderable != renderable)
            {
                node.Name = renderable.Name;
                node.Tag  = renderable;
            }

            if (node.Enabled != renderable.IsOn)
            {
                node.Enabled = renderable.IsOn;
            }

            if (renderable is WorldWind.Renderable.RenderableObjectList)
            {
                WorldWind.Renderable.RenderableObjectList rol = (WorldWind.Renderable.RenderableObjectList)renderable;

                for (int i = 0; i < rol.ChildObjects.Count; i++)
                {
                    WorldWind.Renderable.RenderableObject childRenderable = (WorldWind.Renderable.RenderableObject)rol.ChildObjects[i];

                    if (node.ChildWidgets.Count == i)
                    {
                        SimpleTreeNodeWidget childNode = new SimpleTreeNodeWidget(childRenderable.Name);
                        childNode.Tag                  = childRenderable;
                        childNode.ParentWidget         = node;
                        childNode.OnCheckStateChanged += new CheckStateChangedHandler(node_OnCheckStateChanged);

                        node.ChildWidgets.Add(childNode);
                    }

                    UpdateAllLayers((SimpleTreeNodeWidget)node.ChildWidgets[i], childRenderable);
                }

                while (node.ChildWidgets.Count > rol.ChildObjects.Count)
                {
                    rol.ChildObjects.RemoveAt(rol.ChildObjects.Count - 1);
                }
            }
            else if (node.ChildWidgets.Count > 0)
            {
                node.ChildWidgets.Clear();
            }
        }
예제 #5
0
        public BMNG(WorldWind.WorldWindow worldWindow, MenuItem menuItem)
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            this.m_MenuItem = menuItem; // Plugin menu item ref

            int lastSelectedDatasetIndex = 1;

            try
            {
                using (StreamReader reader = new StreamReader(Path.GetDirectoryName(Application.ExecutablePath) + "\\Plugins\\BlueMarble\\settings.txt"))
                {
                    lastSelectedDatasetIndex = int.Parse(reader.ReadLine().Trim());
                }
            }
            catch
            {
            }

            comboBoxBmngVersion.SelectedIndex = lastSelectedDatasetIndex;

            m_WorldWindow = worldWindow;
            m_RenderableList.ShowOnlyOneLayer = true;
            bool foundImagesObject = false;

            lock (m_WorldWindow.CurrentWorld.RenderableObjects.ChildObjects.SyncRoot)
            {
                foreach (WorldWind.Renderable.RenderableObject ro in m_WorldWindow.CurrentWorld.RenderableObjects.ChildObjects)
                {
                    if (ro is WorldWind.Renderable.RenderableObjectList && (ro.Name == "Images"))       // SF FIX: don't add to layers called 'xxxx images'!
                    {
                        WorldWind.Renderable.RenderableObjectList imagesList = ro as WorldWind.Renderable.RenderableObjectList;
                        imagesList.ChildObjects.Insert(0, m_RenderableList);
                        foundImagesObject = true;
                        break;
                    }
                }
            }

            if (!foundImagesObject)
            {
                m_WorldWindow.CurrentWorld.RenderableObjects.ChildObjects.Add(m_RenderableList);
            }

            m_BlueMarbleBase = new WorldWind.Renderable.ImageLayer(
                "Blue Marble Base Image",
                m_WorldWindow.CurrentWorld,
                0,
                null,
                -90, 90, -180, 180, 1.0f, null);
            m_BlueMarbleBase.ImageUrl = "http://worldwind.arc.nasa.gov/downloads/land_shallow_topo_2048.dds";

            WorldWind.NltImageStore ia = new WorldWind.NltImageStore("106", "http://nww.terraserver-usa.com/nwwtile.ashx");
            ia.DataDirectory            = null;
            ia.LevelZeroTileSizeDegrees = 36.0;
            ia.LevelCount     = 4;
            ia.ImageExtension = "jpg";
            ia.CacheDirectory = String.Format("{0}\\Blue Marble", m_WorldWindow.Cache.CacheDirectory);

            WorldWind.ImageStore[] ias = new WorldWind.ImageStore[1];
            ias[0]            = ia;
            m_BlueMarbleTiled = new WorldWind.Renderable.QuadTileSet(
                "Blue Marble Tiled",
                m_WorldWindow.CurrentWorld,
                0,
                90, -90, -180, 180,
                true,
                ias);

            m_BlueMarbleTiled.ServerLogoFilePath = Path.GetDirectoryName(Application.ExecutablePath) + "\\Data\\Icons\\Interface\\meatball.png";

            m_BlueMarbleList      = new WorldWind.Renderable.RenderableObjectList("Blue Marble");
            m_BlueMarbleList.IsOn = false;
            m_BlueMarbleList.Add(m_BlueMarbleBase);
            m_BlueMarbleList.Add(m_BlueMarbleTiled);

            m_ShadedList = new WorldWind.Renderable.RenderableObjectList("BMNG");
            m_ShadedList.ShowOnlyOneLayer = true;
            m_ShadedList.IsOn             = false;

            for (int i = 0; i < 12; i++)
            {
                m_ImageLayers[0, i] = new WorldWind.Renderable.ImageLayer(
                    String.Format("Base Image - {0}.2004", i + 1),
                    m_WorldWindow.CurrentWorld,
                    0,
                    null,
                    -90, 90, -180, 180, 1.0f, null);
                m_ImageLayers[0, i].ImageUrl = String.Format("{0}world.topo.2004{1:D2}.jpg", m_BmngBaseImageUrl, i + 1);

                WorldWind.NltImageStore imageStore = new WorldWind.NltImageStore(String.Format("bmng.topo.2004{0:D2}", i + 1), "http://worldwind25.arc.nasa.gov/tile/tile.aspx");
                imageStore.DataDirectory            = null;
                imageStore.LevelZeroTileSizeDegrees = 36.0;
                imageStore.LevelCount     = 5;
                imageStore.ImageExtension = "jpg";
                imageStore.CacheDirectory = String.Format("{0}\\BMNG\\{1}", m_WorldWindow.Cache.CacheDirectory, String.Format("BMNG (Shaded) Tiled - {0}.2004", i + 1));

                ias    = new WorldWind.ImageStore[1];
                ias[0] = imageStore;

                m_QuadTileLayers[0, i] = new WorldWind.Renderable.QuadTileSet(
                    String.Format("Tiled - {0}.2004", i + 1),
                    m_WorldWindow.CurrentWorld,
                    0,
                    90, -90, -180, 180,
                    true,
                    ias);

                m_QuadTileLayers[0, i].ServerLogoFilePath = Path.GetDirectoryName(Application.ExecutablePath) + "\\Data\\Icons\\Interface\\meatball.png";

                m_RenderableLayers[0, i]      = new WorldWind.Renderable.RenderableObjectList(String.Format("{0}.2004", i + 1));
                m_RenderableLayers[0, i].IsOn = false;

                m_RenderableLayers[0, i].Add(m_ImageLayers[0, i]);
                m_RenderableLayers[0, i].Add(m_QuadTileLayers[0, i]);
                m_ShadedList.Add(m_RenderableLayers[0, i]);
            }

            m_ShadedBathyList = new WorldWind.Renderable.RenderableObjectList("BMNG (Bathymetry)");
            m_ShadedBathyList.ShowOnlyOneLayer = true;
            m_ShadedBathyList.IsOn             = false;

            for (int i = 0; i < 12; i++)
            {
                m_ImageLayers[1, i] = new WorldWind.Renderable.ImageLayer(
                    String.Format("Base Image - {0}.2004", i + 1),
                    m_WorldWindow.CurrentWorld,
                    0,
                    String.Format("{0}\\Data\\Earth\\BmngBathy\\world.topo.bathy.2004{1:D2}.jpg", Path.GetDirectoryName(Application.ExecutablePath), i + 1),
                    -90, 90, -180, 180, 1.0f, null);

                //	m_ImageLayers[1, i].ImageUrl = String.Format("{0}world.topo.bathy.2004{1:D2}.jpg", m_BmngBaseImageUrl, i+1);

                WorldWind.NltImageStore imageStore = new WorldWind.NltImageStore(String.Format("bmng.topo.bathy.2004{0:D2}", i + 1), "http://worldwind25.arc.nasa.gov/tile/tile.aspx");
                imageStore.DataDirectory            = null;
                imageStore.LevelZeroTileSizeDegrees = 36.0;
                imageStore.LevelCount     = 5;
                imageStore.ImageExtension = "jpg";
                imageStore.CacheDirectory = String.Format("{0}\\BMNG\\{1}", m_WorldWindow.Cache.CacheDirectory, String.Format("BMNG (Shaded + Bathymetry) Tiled - {0}.2004", i + 1));

                ias    = new WorldWind.ImageStore[1];
                ias[0] = imageStore;

                m_QuadTileLayers[1, i] = new WorldWind.Renderable.QuadTileSet(
                    String.Format("Tiled - {0}.2004", i + 1),
                    m_WorldWindow.CurrentWorld,
                    0,
                    90, -90, -180, 180, true, ias);

                m_QuadTileLayers[0, i].ServerLogoFilePath = Path.GetDirectoryName(Application.ExecutablePath) + "\\Data\\Icons\\Interface\\meatball.png";

                m_RenderableLayers[1, i]      = new WorldWind.Renderable.RenderableObjectList(String.Format("{0}.2004", i + 1));
                m_RenderableLayers[1, i].IsOn = false;

                m_RenderableLayers[1, i].Add(m_ImageLayers[1, i]);
                m_RenderableLayers[1, i].Add(m_QuadTileLayers[1, i]);
                m_ShadedBathyList.Add(m_RenderableLayers[1, i]);
            }

            /*	m_UnShadedList = new WorldWind.Renderable.RenderableObjectList("BMNG (UnShaded)");
             *  m_UnShadedList.ShowOnlyOneLayer = true;
             *  m_UnShadedList.IsOn = false;
             *
             *  for(int i = 0; i < 12; i++)
             *  {
             *      m_ImageLayers[2, i] = new WorldWind.Renderable.ImageLayer(
             *          String.Format("Base Image - {0}.2004 un", i+1),
             *          m_WorldWindow.CurrentWorld,
             *          0,
             *          null,
             *          -90, 90, -180, 180, 1.0f, m_WorldWindow.CurrentWorld.TerrainAccessor);
             *
             *      m_ImageLayers[2, i].ImageUrl = String.Format("{0}world.2004{1:D2}.jpg", m_BmngBaseImageUrl, i+1);
             *      m_ImageLayers[2, i].IsOn = false;
             *
             *      m_QuadTileLayers[2, i] = new WorldWind.Renderable.QuadTileSet(
             *              String.Format("Tiled - {0}.2004", i+1),
             *              m_WorldWindow.CurrentWorld,
             *              0,
             *              90, -90, -180, 180, m_WorldWindow.CurrentWorld.TerrainAccessor,
             *              new WorldWind.ImageAccessor(
             *              null, 512, 36.0, 5, "jpg",
             *              String.Format("{0}\\BMNG\\{1}", m_WorldWindow.Cache.CacheDirectory, String.Format("BMNG (UnShaded) Tiled - {0}.2004", i+1)),
             *              new WorldWind.ImageTileService(
             *              String.Format("bmng.2004{0:D2}", i+1), "http://worldwind28.arc.nasa.gov/TestWebApp/WebForm1.aspx",
             *              Path.GetDirectoryName(Application.ExecutablePath) + "\\Data\\Icons\\Interface\\meatball.png")
             *              ));
             *
             *      m_RenderableLayers[2, i] = new WorldWind.Renderable.RenderableObjectList(String.Format("{0}.2004", i+1));
             *      m_RenderableLayers[2, i].IsOn = false;
             *
             *      m_RenderableLayers[2, i].Add(m_ImageLayers[1, i]);
             *      m_RenderableLayers[2, i].Add(m_QuadTileLayers[1, i]);
             *      m_UnShadedList.Add(m_RenderableLayers[2, i]);
             *  }*/

            m_RenderableList.Add(m_BlueMarbleList);
            m_RenderableList.Add(m_ShadedList);
            m_RenderableList.Add(m_ShadedBathyList);
            //	m_RenderableList.Add(m_UnShadedList);

            this.trackBarMonth.Value = System.DateTime.Now.Month - 1;

            timer          = new Timer();
            timer.Interval = 1000;
            timer.Tick    += new EventHandler(timer_Tick);
            timer.Start();
        }
예제 #6
0
        public BMNG(WorldWind.WorldWindow worldWindow, MenuItem menuItem)
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            this.m_MenuItem = menuItem; // Plugin menu item ref

            int lastSelectedDatasetIndex = 1;
            try
            {
                using (StreamReader reader = new StreamReader(Path.GetDirectoryName(Application.ExecutablePath) + "\\Plugins\\BlueMarble\\settings.txt"))
                {
                    lastSelectedDatasetIndex = int.Parse(reader.ReadLine().Trim());

                }
            }
            catch
            {
            }

            comboBoxBmngVersion.SelectedIndex = lastSelectedDatasetIndex;

            m_WorldWindow = worldWindow;
            m_RenderableList.ShowOnlyOneLayer = true;
            bool foundImagesObject = false;
            lock (m_WorldWindow.CurrentWorld.RenderableObjects.ChildObjects.SyncRoot)
            {
                foreach (WorldWind.Renderable.RenderableObject ro in m_WorldWindow.CurrentWorld.RenderableObjects.ChildObjects)
                {
                    if (ro is WorldWind.Renderable.RenderableObjectList && (ro.Name == "Images"))	// SF FIX: don't add to layers called 'xxxx images'!
                    {
                        WorldWind.Renderable.RenderableObjectList imagesList = ro as WorldWind.Renderable.RenderableObjectList;
                        imagesList.ChildObjects.Insert(0, m_RenderableList);
                        foundImagesObject = true;
                        break;
                    }
                }
            }

            if (!foundImagesObject)
            {
                m_WorldWindow.CurrentWorld.RenderableObjects.ChildObjects.Add(m_RenderableList);
            }

            m_BlueMarbleBase = new WorldWind.Renderable.ImageLayer(
                "Blue Marble Base Image",
                m_WorldWindow.CurrentWorld,
                0,
                null,
                -90, 90, -180, 180, 1.0f, null);
            m_BlueMarbleBase.ImageUrl = "http://worldwind.arc.nasa.gov/downloads/land_shallow_topo_2048.dds";

            WorldWind.NltImageStore ia = new WorldWind.NltImageStore("106", "http://nww.terraserver-usa.com/nwwtile.ashx");
            ia.DataDirectory = null;
            ia.LevelZeroTileSizeDegrees = 36.0;
            ia.LevelCount = 4;
            ia.ImageExtension = "jpg";
            ia.CacheDirectory = String.Format("{0}\\Blue Marble", m_WorldWindow.Cache.CacheDirectory);

            WorldWind.ImageStore[] ias = new WorldWind.ImageStore[1];
            ias[0] = ia;
            m_BlueMarbleTiled = new WorldWind.Renderable.QuadTileSet(
                "Blue Marble Tiled",
                m_WorldWindow.CurrentWorld,
                0,
                90, -90, -180, 180,
                true,
                ias);

            m_BlueMarbleTiled.ServerLogoFilePath = Path.GetDirectoryName(Application.ExecutablePath) + "\\Data\\Icons\\Interface\\meatball.png";

            m_BlueMarbleList = new WorldWind.Renderable.RenderableObjectList("Blue Marble");
            m_BlueMarbleList.IsOn = false;
            m_BlueMarbleList.Add(m_BlueMarbleBase);
            m_BlueMarbleList.Add(m_BlueMarbleTiled);

            m_ShadedList = new WorldWind.Renderable.RenderableObjectList("BMNG");
            m_ShadedList.ShowOnlyOneLayer = true;
            m_ShadedList.IsOn = false;

            for (int i = 0; i < 12; i++)
            {
                m_ImageLayers[0, i] = new WorldWind.Renderable.ImageLayer(
                    String.Format("Base Image - {0}.2004", i + 1),
                    m_WorldWindow.CurrentWorld,
                    0,
                    null,
                    -90, 90, -180, 180, 1.0f, null);
                m_ImageLayers[0, i].ImageUrl = String.Format("{0}world.topo.2004{1:D2}.jpg", m_BmngBaseImageUrl, i + 1);

                WorldWind.NltImageStore imageStore = new WorldWind.NltImageStore(String.Format("bmng.topo.2004{0:D2}", i + 1), "http://worldwind25.arc.nasa.gov/tile/tile.aspx");
                imageStore.DataDirectory = null;
                imageStore.LevelZeroTileSizeDegrees = 36.0;
                imageStore.LevelCount = 5;
                imageStore.ImageExtension = "jpg";
                imageStore.CacheDirectory = String.Format("{0}\\BMNG\\{1}", m_WorldWindow.Cache.CacheDirectory, String.Format("BMNG (Shaded) Tiled - {0}.2004", i + 1));

                ias = new WorldWind.ImageStore[1];
                ias[0] = imageStore;

                m_QuadTileLayers[0, i] = new WorldWind.Renderable.QuadTileSet(
                    String.Format("Tiled - {0}.2004", i + 1),
                    m_WorldWindow.CurrentWorld,
                    0,
                    90, -90, -180, 180,
                    true,
                    ias);

                m_QuadTileLayers[0, i].ServerLogoFilePath = Path.GetDirectoryName(Application.ExecutablePath) + "\\Data\\Icons\\Interface\\meatball.png";

                m_RenderableLayers[0, i] = new WorldWind.Renderable.RenderableObjectList(String.Format("{0}.2004", i + 1));
                m_RenderableLayers[0, i].IsOn = false;

                m_RenderableLayers[0, i].Add(m_ImageLayers[0, i]);
                m_RenderableLayers[0, i].Add(m_QuadTileLayers[0, i]);
                m_ShadedList.Add(m_RenderableLayers[0, i]);
            }

            m_ShadedBathyList = new WorldWind.Renderable.RenderableObjectList("BMNG (Bathymetry)");
            m_ShadedBathyList.ShowOnlyOneLayer = true;
            m_ShadedBathyList.IsOn = false;

            for (int i = 0; i < 12; i++)
            {
                m_ImageLayers[1, i] = new WorldWind.Renderable.ImageLayer(
                    String.Format("Base Image - {0}.2004", i + 1),
                    m_WorldWindow.CurrentWorld,
                    0,
                    String.Format("{0}\\Data\\Earth\\BmngBathy\\world.topo.bathy.2004{1:D2}.jpg", Path.GetDirectoryName(Application.ExecutablePath), i + 1),
                    -90, 90, -180, 180, 1.0f, null);

                //	m_ImageLayers[1, i].ImageUrl = String.Format("{0}world.topo.bathy.2004{1:D2}.jpg", m_BmngBaseImageUrl, i+1);

                WorldWind.NltImageStore imageStore = new WorldWind.NltImageStore(String.Format("bmng.topo.bathy.2004{0:D2}", i + 1), "http://worldwind25.arc.nasa.gov/tile/tile.aspx");
                imageStore.DataDirectory = null;
                imageStore.LevelZeroTileSizeDegrees = 36.0;
                imageStore.LevelCount = 5;
                imageStore.ImageExtension = "jpg";
                imageStore.CacheDirectory = String.Format("{0}\\BMNG\\{1}", m_WorldWindow.Cache.CacheDirectory, String.Format("BMNG (Shaded + Bathymetry) Tiled - {0}.2004", i + 1));

                ias = new WorldWind.ImageStore[1];
                ias[0] = imageStore;

                m_QuadTileLayers[1, i] = new WorldWind.Renderable.QuadTileSet(
                        String.Format("Tiled - {0}.2004", i + 1),
                        m_WorldWindow.CurrentWorld,
                        0,
                        90, -90, -180, 180, true, ias);

                m_QuadTileLayers[0, i].ServerLogoFilePath = Path.GetDirectoryName(Application.ExecutablePath) + "\\Data\\Icons\\Interface\\meatball.png";

                m_RenderableLayers[1, i] = new WorldWind.Renderable.RenderableObjectList(String.Format("{0}.2004", i + 1));
                m_RenderableLayers[1, i].IsOn = false;

                m_RenderableLayers[1, i].Add(m_ImageLayers[1, i]);
                m_RenderableLayers[1, i].Add(m_QuadTileLayers[1, i]);
                m_ShadedBathyList.Add(m_RenderableLayers[1, i]);
            }

            /*	m_UnShadedList = new WorldWind.Renderable.RenderableObjectList("BMNG (UnShaded)");
                m_UnShadedList.ShowOnlyOneLayer = true;
                m_UnShadedList.IsOn = false;
			
                for(int i = 0; i < 12; i++)
                {
                    m_ImageLayers[2, i] = new WorldWind.Renderable.ImageLayer(
                        String.Format("Base Image - {0}.2004 un", i+1),
                        m_WorldWindow.CurrentWorld,
                        0,
                        null,
                        -90, 90, -180, 180, 1.0f, m_WorldWindow.CurrentWorld.TerrainAccessor);

                    m_ImageLayers[2, i].ImageUrl = String.Format("{0}world.2004{1:D2}.jpg", m_BmngBaseImageUrl, i+1);
                    m_ImageLayers[2, i].IsOn = false;

                    m_QuadTileLayers[2, i] = new WorldWind.Renderable.QuadTileSet(
                            String.Format("Tiled - {0}.2004", i+1),
                            m_WorldWindow.CurrentWorld,
                            0,
                            90, -90, -180, 180, m_WorldWindow.CurrentWorld.TerrainAccessor,
                            new WorldWind.ImageAccessor(
                            null, 512, 36.0, 5, "jpg",
                            String.Format("{0}\\BMNG\\{1}", m_WorldWindow.Cache.CacheDirectory, String.Format("BMNG (UnShaded) Tiled - {0}.2004", i+1)),
                            new WorldWind.ImageTileService(
                            String.Format("bmng.2004{0:D2}", i+1), "http://worldwind28.arc.nasa.gov/TestWebApp/WebForm1.aspx", 
                            Path.GetDirectoryName(Application.ExecutablePath) + "\\Data\\Icons\\Interface\\meatball.png")
                            ));

                    m_RenderableLayers[2, i] = new WorldWind.Renderable.RenderableObjectList(String.Format("{0}.2004", i+1));
                    m_RenderableLayers[2, i].IsOn = false;

                    m_RenderableLayers[2, i].Add(m_ImageLayers[1, i]);
                    m_RenderableLayers[2, i].Add(m_QuadTileLayers[1, i]);
                    m_UnShadedList.Add(m_RenderableLayers[2, i]);
                }*/

            m_RenderableList.Add(m_BlueMarbleList);
            m_RenderableList.Add(m_ShadedList);
            m_RenderableList.Add(m_ShadedBathyList);
            //	m_RenderableList.Add(m_UnShadedList);

            this.trackBarMonth.Value = System.DateTime.Now.Month - 1;

            timer = new Timer();
            timer.Interval = 1000;
            timer.Tick += new EventHandler(timer_Tick);
            timer.Start();
        }