Synchronized raster raster band blocks manager.  
 More...
#include <SynchronizedBandBlocksManager.h>
Synchronized raster raster band blocks manager. 
Definition at line 47 of file SynchronizedBandBlocksManager.h.
 
◆ SynchronizedBandBlocksManager() [1/2]
      
        
          | te::rst::SynchronizedBandBlocksManager::SynchronizedBandBlocksManager  | 
          ( | 
           | ) | 
           | 
        
      
 
 
◆ ~SynchronizedBandBlocksManager()
      
        
          | te::rst::SynchronizedBandBlocksManager::~SynchronizedBandBlocksManager  | 
          ( | 
           | ) | 
           | 
        
      
 
 
◆ SynchronizedBandBlocksManager() [2/2]
◆ free()
      
        
          | void te::rst::SynchronizedBandBlocksManager::free  | 
          ( | 
           | ) | 
           | 
        
      
 
- Note
 - Free all allocated internal resources and go back to the initial state. 
 
 
 
◆ getBlockPointer()
      
        
          | void * te::rst::SynchronizedBandBlocksManager::getBlockPointer  | 
          ( | 
          unsigned int  | 
          band,  | 
        
        
           | 
           | 
          unsigned int  | 
          x,  | 
        
        
           | 
           | 
          unsigned int  | 
          y  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Returns a pointer to the required data block. 
- Parameters
 - 
  
    | band | The band index.  | 
    | x | The block-id in x (or x-offset).  | 
    | y | The block-id in y (or y-offset). | 
  
   
- Returns
 - Pointer to the required data block. 
 
 
 
◆ getMaxNumberOfCacheBlocks()
  
  
      
        
          | unsigned int te::rst::SynchronizedBandBlocksManager::getMaxNumberOfCacheBlocks  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
◆ getRaster()
      
        
          | te::rst::Raster * te::rst::SynchronizedBandBlocksManager::getRaster  | 
          ( | 
           | ) | 
           const | 
        
      
 
Returns the associated raster. 
 
 
◆ getSynchronizer()
◆ initialize() [1/2]
      
        
          | bool te::rst::SynchronizedBandBlocksManager::initialize  | 
          ( | 
          const unsigned int  | 
          maxNumberOfCacheBlocks,  | 
        
        
           | 
           | 
          RasterSynchronizer &  | 
          sync  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Initialize this instance to an initial state. 
- Parameters
 - 
  
    | sync | The synchronized used by this instance. | 
    | maxNumberOfCacheBlocks | The maximum number of cache blocks. | 
  
   
- Returns
 - true if OK, false on errors.
 
- Note
 - For the case where using the write raster access policy: The use of multiple cached blocks can cause deadlocks if multiple threads are locking blocks needed by other threads, use it with caution! 
 
 
 
◆ initialize() [2/2]
      
        
          | bool te::rst::SynchronizedBandBlocksManager::initialize  | 
          ( | 
          RasterSynchronizer &  | 
          sync,  | 
        
        
           | 
           | 
          const unsigned char  | 
          maxMemPercentUsed  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Initialize this instance to an initial state. 
- Parameters
 - 
  
    | sync | The synchronized used by this instance. | 
    | maxMemPercentUsed | The maximum free memory percentual to use valid range: [1:100]. | 
  
   
- Returns
 - true if OK, false on errors.
 
- Note
 - For the case where using the write raster access policy: The use of multiple cached blocks can cause deadlocks if multiple threads are locking blocks needed by other threads, use it with caution! 
 
 
 
◆ initState()
  
  
      
        
          | void te::rst::SynchronizedBandBlocksManager::initState  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
private   | 
  
 
Initialize this instance to an initial state. 
 
 
◆ isInitialized()
  
  
      
        
          | bool te::rst::SynchronizedBandBlocksManager::isInitialized  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
◆ m_blocksFifo
  
  
      
        
          | std::vector< BlockIndex > te::rst::SynchronizedBandBlocksManager::m_blocksFifo | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_blocksFifoNextSwapBlockIndex
  
  
      
        
          | unsigned int te::rst::SynchronizedBandBlocksManager::m_blocksFifoNextSwapBlockIndex | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_blocksHandler
  
  
      
        
          | std::vector< unsigned char* > te::rst::SynchronizedBandBlocksManager::m_blocksHandler | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_blocksPointers
  
  
      
        
          | std::vector< std::vector< std::vector< unsigned char* > > > te::rst::SynchronizedBandBlocksManager::m_blocksPointers | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_getBlockPointer_BlkPtr
  
  
      
        
          | unsigned char* te::rst::SynchronizedBandBlocksManager::m_getBlockPointer_BlkPtr | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_globalBlockSizeBytes
  
  
      
        
          | unsigned int te::rst::SynchronizedBandBlocksManager::m_globalBlockSizeBytes | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_globalBlocksNumberX
  
  
      
        
          | unsigned int te::rst::SynchronizedBandBlocksManager::m_globalBlocksNumberX | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_globalBlocksNumberY
  
  
      
        
          | unsigned int te::rst::SynchronizedBandBlocksManager::m_globalBlocksNumberY | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_maxNumberOfCacheBlocks
  
  
      
        
          | unsigned int te::rst::SynchronizedBandBlocksManager::m_maxNumberOfCacheBlocks | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_syncPtr
The documentation for this class was generated from the following file: