Go to the documentation of this file.
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);
126 #endif // __TERRALIB_MEMORY_INTERNAL_EXPANSIBLEBAND_H
RAM cached and tiled raster band blocks manager.
A raster band description.
te::rst::Raster * getRaster() const
Returns the associated raster.
void(* SetBufferValueFPtr)(int index, void *buffer, const double *value)
The type of function used to extract data from a buffer.
static ExpansibleBandBlocksManager dummyBlocksManager
A global static dummy blocks manager.
An abstract class for raster data strucutures.
ExpansibleBandBlocksManager & m_blocksManager
The external blocks manager reference.
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...
unsigned int m_blkWidth
Block width in pixels(for pixel access optimization purposes).
unsigned int m_setGetBlkY
void * read(int x, int y)
It reads and returns a data block.
te::rst::Raster * m_parentRasterPtr
The parent raster ponter.
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.
RAM cached and tiled raster band blocks manager.
void setValue(unsigned int c, unsigned int r, const double value)
Sets the cell attribute value.
void getIValue(unsigned int c, unsigned int r, double &value) const
Returns the imaginary attribute value in a complex band of a cell.
A raster band description.
#define TEMEMORYEXPORT
You can use this macro in order to export/import classes and functions from this module.
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_blkSizeBytes
Blosk size bytes (for pixel access optimization purposes).
void write(int x, int y, void *buffer)
It writes a data block from the specified buffer.
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.
unsigned int m_setGetBlkX
te::rst::SetBufferValueFPtr m_setBuffI
A pointer to a function that helps to insert the imaginary part value into a specific buffer data typ...
ExpansibleBand(ExpansibleBandBlocksManager &blocksManager, te::rst::Raster &parentRaster, const te::rst::BandProperty &bandProperty, std::size_t idx)
Constructor.
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...
unsigned int m_blkHeight
Block width in pixels (for pixel access optimization purposes).