/// <summary> /// For DAP 11 and later servers, switch to using the tile interface, updating the texture /// info appropriately. /// </summary> private void SwitchToUseTiles() { if (m_oServer.MajorVersion >= 11 && m_hDataSet.Type.Equals("ArcGIS", StringComparison.InvariantCultureIgnoreCase)) { m_iTextureSizePixels = DAP_TILE_SIZE; m_dLevelZeroTileSizeDegrees = DAP_TILE_LZTS; m_iLevels = DappleUtils.TileLevels(m_oServer.Command, m_hDataSet); } }
private QuadTileSet GetQuadTileSet() { if (m_layer == null) { SwitchToUseTiles(); string strCachePath = GetCachePath(); System.IO.Directory.CreateDirectory(strCachePath); // Determine the needed levels (function of tile size and resolution if available) // Shared code in DappleUtils of dapxmlclient try { if (m_iLevels == 0) { m_iLevels = DappleUtils.Levels(m_oServer.Command, m_hDataSet); } } catch { m_iLevels = 15; } ImageStore[] imageStores = new ImageStore[1]; imageStores[0] = new DAPImageStore(m_hDataSet, m_oServer) { DataDirectory = null, LevelZeroTileSizeDegrees = LevelZeroTileSize, LevelCount = m_iLevels, ImageExtension = ".png", CacheDirectory = strCachePath, TextureSizePixels = m_iTextureSizePixels }; m_layer = new QuadTileSet(m_hDataSet.Title, m_oWorldWindow.CurrentWorld, 0, m_hDataSet.Boundary.MaxY, m_hDataSet.Boundary.MinY, m_hDataSet.Boundary.MinX, m_hDataSet.Boundary.MaxX, true, imageStores) { AlwaysRenderBaseTiles = true, IsOn = m_IsOn, Opacity = m_bOpacity }; } return(m_layer); }