26 #ifndef __TERRALIB_MEMORY_INTERNAL_EXPANSIBLEBAND_H
27 #define __TERRALIB_MEMORY_INTERNAL_EXPANSIBLEBAND_H
30 #include "../raster/Band.h"
31 #include "../raster/BandProperty.h"
32 #include "../raster/BlockUtils.h"
41 #include <boost/noncopyable.hpp>
73 return m_parentRasterPtr;
76 void getValue(
unsigned int c,
unsigned int r,
double& value)
const;
78 void setValue(
unsigned int c,
unsigned int r,
const double value);
80 void getIValue(
unsigned int c,
unsigned int r,
double& value)
const;
82 void setIValue(
unsigned int c,
unsigned int r,
const double value);
84 void read(
int x,
int y,
void* buffer)
const;
88 return m_blocksManager.getBlockPointer(
static_cast<unsigned int>(m_idx),
static_cast<unsigned int>(x),
static_cast<unsigned int>(y));
91 void write(
int x,
int y,
void* buffer);
RAM cached and tiled raster band blocks manager.
RAM cached and tiled raster band blocks manager.
te::rst::Raster * m_parentRasterPtr
The parent raster ponter.
te::rst::Raster * getRaster() const
Returns the associated raster.
void setIValue(unsigned int c, unsigned int r, const double value)
Sets the imaginary attribute value in a complex band of a cell.
static ExpansibleBandBlocksManager dummyBlocksManager
A global static dummy blocks manager.
unsigned int m_setGetBlkY
te::rst::GetBufferValueFPtr m_getBuffI
A pointer to a function that helps to extract the imaginary part value from a specific buffer data ty...
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...
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_blkWidth
Block width in pixels(for pixel access optimization purposes).
te::rst::SetBufferValueFPtr m_setBuffI
A pointer to a function that helps to insert the imaginary part value into a specific buffer data typ...
unsigned int m_blkSizeBytes
Blosk size bytes (for pixel access optimization purposes).
ExpansibleBand(ExpansibleBandBlocksManager &blocksManager, te::rst::Raster &parentRaster, const te::rst::BandProperty &bandProperty, std::size_t idx)
Constructor.
void read(int x, int y, void *buffer) const
It reads a data block to the specified buffer.
void getValue(unsigned int c, unsigned int r, double &value) const
Returns the cell attribute value.
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...
ExpansibleBandBlocksManager & m_blocksManager
The external blocks manager reference.
void * read(int x, int y)
It reads and returns a data block.
unsigned int m_setGetBlkX
unsigned int m_blkHeight
Block width in pixels (for pixel access optimization purposes).
void setValue(unsigned int c, unsigned int r, const double value)
Sets the cell attribute value.
void write(int x, int y, void *buffer)
It writes a data block from the specified buffer.
A raster band description.
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).