26#ifndef __TERRALIB_RASTER_INTERNAL_SYNCHRONIZEDBANDBLOCKSMANAGER_H
27#define __TERRALIB_RASTER_INTERNAL_SYNCHRONIZEDBANDBLOCKSMANAGER_H
67 const unsigned char maxMemPercentUsed );
80 bool initialize(
const unsigned int maxNumberOfCacheBlocks,
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.
RasterSynchronizer * getSynchronizer() const
Return a pointer to the assotiated synchronizer instance or NULL if there is none.
unsigned int m_globalBlockSizeBytes
The maximum block size for all bands.
void * getBlockPointer(unsigned int band, unsigned int x, unsigned int y)
Returns a pointer to the required data block.
SynchronizedBandBlocksManager()
te::rst::Raster * getRaster() const
Returns the associated raster.
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
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.
Namespace for the Raster module of TerraLib.
An abstract class for raster data strucutures.
Configuration flags for the Raster module of TerraLib.
#define TERASTEREXPORT
You can use this macro in order to export/import classes and functions from this module.