Exemple #1
0
 public void Dispose()
 {
     _disposed = true;
     //clear load queue for thread exit
     _loadStack.Clear();
     while (!_loadWorkerIsCompleted && _loadWorkerIsStarted)
     {
         Thread.Sleep(10);
     }
     _loadWorker.Dispose();
     //
     if (_loadWorker != null)
     {
         _loadWorker.Dispose();
         _loadWorker = null;
     }
     if (_tilesLocator != null)
     {
         _tilesLocator.Dispose();
         _tilesLocator = null;
     }
     if (_tileCacheManager != null)
     {
         _tileCacheManager.Dispose();
         _tileCacheManager = null;
     }
     if (_sleepTileCacheManager != null)
     {
         _sleepTileCacheManager.Dispose();
         _sleepTileCacheManager = null;
     }
     if (_dataProviderReader != null)
     {
         _dataProviderReader.Dispose();
         _dataProviderReader = null;
     }
     _dataProvider              = null;
     _asyncRefreshCanvas        = null;
     _canvas.OnEnvelopeChanged -= _canvasEnvelopeChanged;
     _canvas = null;
 }
Exemple #2
0
        private void CreateDataProviderReader()
        {
            switch (_dataProvider.DataType)
            {
            case enumDataType.Byte:
                _dataProviderReader = new DataProviderReaderByte(_tileSetting.TileSize, _selectedBandNos, _dataProvider, _stretcherProvider, _colorTableName);
                break;

            case enumDataType.UInt16:
                _dataProviderReader = new DataProviderReaderUInt16(_tileSetting.TileSize, _selectedBandNos, _dataProvider, _stretcherProvider, _colorTableName);
                break;

            case enumDataType.Int16:
                _dataProviderReader = new DataProviderReaderInt16(_tileSetting.TileSize, _selectedBandNos, _dataProvider, _stretcherProvider, _colorTableName);
                break;

            case enumDataType.UInt32:
                _dataProviderReader = new DataProviderReaderUInt32(_tileSetting.TileSize, _selectedBandNos, _dataProvider, _stretcherProvider, _colorTableName);
                break;

            case enumDataType.Int32:
                _dataProviderReader = new DataProviderReaderInt32(_tileSetting.TileSize, _selectedBandNos, _dataProvider, _stretcherProvider, _colorTableName);
                break;

            case enumDataType.UInt64:
                _dataProviderReader = new DataProviderReaderUInt64(_tileSetting.TileSize, _selectedBandNos, _dataProvider, _stretcherProvider, _colorTableName);
                break;

            case enumDataType.Int64:
                _dataProviderReader = new DataProviderReaderInt64(_tileSetting.TileSize, _selectedBandNos, _dataProvider, _stretcherProvider, _colorTableName);
                break;

            case enumDataType.Float:
                _dataProviderReader = new DataProviderReaderFloat(_tileSetting.TileSize, _selectedBandNos, _dataProvider, _stretcherProvider, _colorTableName);
                break;

            case enumDataType.Double:
                _dataProviderReader = new DataProviderReaderDouble(_tileSetting.TileSize, _selectedBandNos, _dataProvider, _stretcherProvider, _colorTableName);
                break;
            }
        }