26 #ifndef __TERRALIB_MEMORY_INTERNAL_EXPANSIBLERASTER_H
27 #define __TERRALIB_MEMORY_INTERNAL_EXPANSIBLERASTER_H
30 #include "../raster/BandProperty.h"
31 #include "../raster/Grid.h"
32 #include "../raster/Raster.h"
69 const std::vector<te::rst::BandProperty*> bandsProperties );
81 const std::vector<te::rst::BandProperty*> bandsProperties,
82 const unsigned int maxNumberOfRAMBlocks );
88 std::map<std::string, std::string> getInfo()
const;
92 return m_bands.size();
97 assert( i < m_bands.size() );
98 return m_bands[ i ]->getProperty()->m_type;
103 assert( i < m_bands.size() );
109 assert( i < m_bands.size() );
115 assert( i < m_bands.size() );
116 return *(m_bands[ i ]);
121 assert( i < m_bands.size() );
122 return *(m_bands[ i ]);
151 bool addTopLines(
const unsigned int number );
160 bool addBottomLines(
const unsigned int number );
169 bool addLeftColumns(
const unsigned int number );
178 bool addRightColumns(
const unsigned int number );
187 bool addTopBands(
const unsigned int number );
196 bool addBottomBands(
const unsigned int number );
210 void dummyFillAllBlocks();
217 void dummyFillBlocks(
const std::vector<ExpansibleBandBlocksManager::BlockIndex3D>& blocksCoords );
229 #endif //__TERRALIB_MEMORY_INTERNAL_EXPANSIBLERASTER_H
std::vector< ExpansibleBand * > m_bands
Internal raster bands.
A raster class for memory.
#define TEMEMORYEXPORT
You can use this macro in order to export/import classes and functions from this module.
bool createMultiResolution(const unsigned int levels, const te::rst::InterpolationMethod interpMethod)
Create a sub-sampled multi-resolution pyramid.
const te::rst::Band & operator[](std::size_t i) const
Access band in i position.
Configuration flags for the TerraLib In-memory Data Access driver.
std::size_t getNumberOfBands() const
Returns the number of bands (dimension of cells attribute values) in the raster.
InterpolationMethod
Allowed interpolation methods.
ExpansibleBandBlocksManager m_blocksManager
Internal blocks manager.
te::rst::Raster * getMultiResLevel(const unsigned int level) const
Returns the required level of a multi-resolution pyramid or NULL if that level does not exists...
te::rst::Band & operator[](std::size_t i)
Access band in i position.
AccessPolicy
Supported data access policies (can be used as bitfield).
An abstract class for raster data strucutures.
RAM cached and tiled raster band blocks manager.
A base class for values that can be retrieved from the data access module.
A raster band description.
RAM cached and tiled raster band blocks manager.
unsigned int getMultiResLevelsCount() const
Returns the current number of multi-resolution pyramid levels.
te::rst::Band * getBand(std::size_t i)
Returns the raster i-th band.
bool removeMultiResolution()
Remove/Destroy a sub-sampled multi-resolution pyramid, if there is one.
A raster (stored in memory and eventually swapped to disk) where it is possible to dynamically add li...
int getBandDataType(std::size_t i) const
Returns the data type in a particular band (or dimension).
const te::rst::Band * getBand(std::size_t i) const
Returns the raster i-th band.
A rectified grid is the spatial support for raster data.