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).