26 #ifndef __TERRALIB_MEMORY_INTERNAL_CACHEDBAND_H 
   27 #define __TERRALIB_MEMORY_INTERNAL_CACHEDBAND_H 
   30 #include "../raster/Band.h" 
   31 #include "../raster/BlockUtils.h" 
   40 #include <boost/noncopyable.hpp> 
   69           return m_blocksManager.getRaster();
 
   72         void getValue(
unsigned int c, 
unsigned int r, 
double& value) 
const;
 
   74         void setValue(
unsigned int c, 
unsigned int r, 
const double value);
 
   76         void getIValue(
unsigned int c, 
unsigned int r, 
double& value) 
const;
 
   78         void setIValue(
unsigned int c, 
unsigned int r, 
const double value);
 
   80         void read(
int x, 
int y, 
void* buffer) 
const;
 
   84           assert( m_blocksManager.isInitialized() );
 
   85           return m_blocksManager.getBlockPointer( (
unsigned int)m_idx, 
 
   86             (
unsigned int)x, (
unsigned int)y );
 
   89         void write(
int x, 
int y, 
void* buffer);
 
RAM cached and tiled raster band blocks manager.
 
RAM cached and tiled raster band blocks manager.
 
RAM cached and tiled raster band.
 
void read(int x, int y, void *buffer) const
It reads a data block to the specified buffer.
 
void * read(int x, int y)
It reads and returns a data block.
 
unsigned int m_blkSizeBytes
The blocks size (bytes);.
 
te::rst::SetBufferValueFPtr m_setBuffI
A pointer to a function that helps to insert the imaginary part value into a specific buffer data typ...
 
void setValue(unsigned int c, unsigned int r, const double value)
Sets the cell attribute value.
 
static CachedBandBlocksManager dummyBlocksManager
A global static dummy blocks manager.
 
te::rst::SetBufferValueFPtr m_setBuff
A pointer to a function that helps to insert a double or complex value into a specific buffer data ty...
 
CachedBandBlocksManager & m_blocksManager
The external blocks manager reference.
 
void write(int x, int y, void *buffer)
It writes a data block from the specified buffer.
 
CachedBand(CachedBandBlocksManager &blocksManager, std::size_t idx)
Constructor.
 
void getValue(unsigned int c, unsigned int r, double &value) const
Returns the cell attribute value.
 
void setIValue(unsigned int c, unsigned int r, const double value)
Sets the imaginary attribute value in a complex band of a cell.
 
unsigned int m_blkHeight
The current band blocks height.
 
unsigned int m_setGetBlkY
 
void getIValue(unsigned int c, unsigned int r, double &value) const
Returns the imaginary attribute value in a complex band of a cell.
 
te::rst::Raster * getRaster() const
Returns the associated raster.
 
unsigned int m_blkWidth
The current band blocks width.
 
unsigned int m_setGetBlkX
 
te::rst::GetBufferValueFPtr m_getBuff
A pointer to a function that helps to extract a double or complex value from a specific buffer data t...
 
te::rst::GetBufferValueFPtr m_getBuffI
A pointer to a function that helps to extract the imaginary part value from a specific buffer data ty...
 
A raster band description.
 
An abstract class for raster data strucutures.
 
void(* SetBufferValueFPtr)(int index, void *buffer, const double *value)
The type of function used to extract data from a buffer.
 
void(* GetBufferValueFPtr)(int index, void *buffer, double *value)
The type of function used to extract data from a buffer.
 
#define TEMEMORYEXPORT
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).