Go to the documentation of this file.
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);
120 #endif // __TERRALIB_MEMORY_INTERNAL_CACHEDBAND_H
RAM cached and tiled raster band.
A raster band description.
void(* SetBufferValueFPtr)(int index, void *buffer, const double *value)
The type of function used to extract data from a buffer.
An abstract class for raster data strucutures.
void write(int x, int y, void *buffer)
It writes a data block from the specified buffer.
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...
static CachedBandBlocksManager dummyBlocksManager
A global static dummy blocks manager.
void getValue(unsigned int c, unsigned int r, double &value) const
Returns the cell attribute value.
unsigned int m_blkWidth
The current band blocks width.
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...
te::rst::GetBufferValueFPtr m_getBuffI
A pointer to a function that helps to extract the imaginary part value from a specific buffer data ty...
RAM cached and tiled raster band blocks manager.
te::rst::Raster * getRaster() const
Returns the associated raster.
void read(int x, int y, void *buffer) const
It reads a data block to the specified buffer.
unsigned int m_blkSizeBytes
The blocks size (bytes);.
RAM cached and tiled raster band blocks manager.
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.
void setIValue(unsigned int c, unsigned int r, const double value)
Sets the imaginary attribute value in a complex band of a cell.
#define TEMEMORYEXPORT
You can use this macro in order to export/import classes and functions from this module.
unsigned int m_blkHeight
The current band blocks height.
void * read(int x, int y)
It reads and returns a data block.
CachedBandBlocksManager & m_blocksManager
The external blocks manager reference.
Proxy configuration file for TerraView (see terraview_config.h).
void(* GetBufferValueFPtr)(int index, void *buffer, double *value)
The type of function used to extract data from a buffer.
void getIValue(unsigned int c, unsigned int r, double &value) const
Returns the imaginary attribute value in a complex band of a cell.
unsigned int m_setGetBlkY
unsigned int m_setGetBlkX
CachedBand(CachedBandBlocksManager &blocksManager, std::size_t idx)
Constructor.