29 #include "../raster/BandProperty.h"
30 #include "../raster/Utils.h"
35 const void* allBandsDataPtr, std::size_t idx,
int dataType,
36 const unsigned int nBands,
const unsigned int nLines,
const unsigned int nCols )
37 : te::rst::Band( new te::rst::BandProperty( idx, dataType,
"" ), idx )
55 : te::rst::Band( new te::rst::BandProperty( 0, 0 ), 0 )
57 throw te::idl::Exception(
"Not implemented" );
61 : te::rst::Band( new te::rst::BandProperty( 0, 0 ), 0 )
63 throw te::idl::Exception(
"Not implemented" );
72 m_bufferOffset = m_nBands * ( ( m_nCols * r ) + c ) + m_idx;
73 m_getBuff(m_bufferOffset, m_allBandsDataPtr, &value );
78 m_bufferOffset = m_nBands * ( ( m_nCols * r ) + c ) + m_idx;
79 m_setBuff(m_bufferOffset, m_allBandsDataPtr, &value );
84 m_bufferOffset = m_nBands * ( ( m_nCols * r ) + c ) + m_idx;
85 m_getBuffI(m_bufferOffset, m_allBandsDataPtr, &value );
90 m_bufferOffset = m_nBands * ( ( m_nCols * r ) + c ) + m_idx;
91 m_setBuffI(m_bufferOffset, m_allBandsDataPtr, &value );
99 m_nLines * m_nCols * m_nBands );
107 m_nLines * m_nCols * m_nBands );
void getValue(unsigned int c, unsigned int r, double &value) const
Returns the cell attribute value.
A adaptor to an external existent raster in a idl array form.
Index into a lookup table.
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_nLines
The parent raster number of lines.
int m_nblocksx
The number of blocks in x.
int m_nblocksy
The number of blocks in y.
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_nBands
The parent raster number of bands.
void write(int x, int y, void *buffer)
It writes a data block from the specified buffer.
An abstract class for raster data strucutures.
unsigned int m_nCols
The parent raster number of columns.
A adaptor to an external existent raster in a idl array form.
int m_blkw
Block width (pixels).
void setIValue(unsigned int c, unsigned int r, const double value)
Sets the imaginary attribute value in a complex band of a cell.
void * m_allBandsDataPtr
Data buffer pointer.
void read(int x, int y, void *buffer) const
It reads a data block to the specified buffer.
void setValue(unsigned int c, unsigned int r, const double value)
Sets the cell attribute value.
TERASTEREXPORT int GetPixelSize(int datatype)
Returns the byte size of a given datatype.
te::rst::GetBufferValueFPtr m_getBuffI
A pointer to a function that helps to extract the imaginary part value from 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.
int m_blkh
Block height (pixels).
ColorInterp m_colorInterp
The color interpretation.
TERASTEREXPORT void SetBlockFunctions(GetBufferValueFPtr *gb, GetBufferValueFPtr *gbi, SetBufferValueFPtr *sb, SetBufferValueFPtr *sbi, int type)
Sets the pointers to functions that helps to extract a double or complex value from a specific buffer...
BandProperty * m_property
The band information.
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...