26 #ifndef __TERRALIB_RASTER_INTERNAL_SYNCHRONIZEDBANDBLOCKSMANAGER_H
27 #define __TERRALIB_RASTER_INTERNAL_SYNCHRONIZEDBANDBLOCKSMANAGER_H
32 #include "../raster/Raster.h"
67 const unsigned char maxMemPercentUsed );
80 bool initialize(
const unsigned int maxNumberOfCacheBlocks,
90 return m_syncPtr ? true :
false;
116 return m_maxNumberOfCacheBlocks;
141 : m_b( 0 ), m_y( 0 ), m_x( 0 )
An access synchronizer to be used in SynchronizedRaster raster instances.
An access synchronizer to be used in SynchronizedRaster raster instances.
An abstract class for raster data strucutures.
unsigned int m_x
Block index over the X axis.
unsigned int m_y
Block index over the Y axis.
unsigned int m_b
Block band index.
Synchronized raster raster band blocks manager.
unsigned int m_globalBlockSizeBytes
The maximum block size for all bands.
RasterSynchronizer * getSynchronizer() const
Return a pointer to the assotiated synchronizer instance or NULL if there is none.
SynchronizedBandBlocksManager()
std::vector< unsigned char * > m_blocksHandler
Cache blocks handler.
bool isInitialized() const
Returns true if this instance is initialized.
unsigned int getMaxNumberOfCacheBlocks() const
The maximum number of cache blocks.
RasterSynchronizer * m_syncPtr
A pointer to the synchronizer used by this instance, of null if not initialized.
unsigned char * m_getBlockPointer_BlkPtr
te::rst::Raster * getRaster() const
Returns the associated raster.
void * getBlockPointer(unsigned int band, unsigned int x, unsigned int y)
Returns a pointer to the required data block.
SynchronizedBandBlocksManager(const SynchronizedBandBlocksManager &other)
~SynchronizedBandBlocksManager()
bool initialize(RasterSynchronizer &sync, const unsigned char maxMemPercentUsed)
Initialize this instance to an initial state.
unsigned int m_globalBlocksNumberX
The maximum number of blocks (X axis) for all bands.
unsigned int m_maxNumberOfCacheBlocks
The maximum number of cache blocks.
unsigned int m_globalBlocksNumberY
The maximum number of blocks (Y axis) for all bands.
std::vector< BlockIndex > m_blocksFifo
blocks swap FIFO.
unsigned int m_blocksFifoNextSwapBlockIndex
The next block swapp index over m_blocksFifo.
std::vector< std::vector< std::vector< unsigned char * > > > m_blocksPointers
3D Matrix of block pointers indexed as [band][blockYIndex][blockXIndex].
void initState()
Initialize this instance to an initial state.
bool initialize(const unsigned int maxNumberOfCacheBlocks, RasterSynchronizer &sync)
Initialize this instance to an initial state.
#define TERASTEREXPORT
You can use this macro in order to export/import classes and functions from this module.
Proxy configuration file for TerraView (see terraview_config.h).