My Project
 All Classes Files Functions Pages
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
VRTDerivedRasterBand Class Reference
Inheritance diagram for VRTDerivedRasterBand:
VRTSourcedRasterBand VRTRasterBand

Public Member Functions

 VRTDerivedRasterBand (GDALDataset *poDS, int nBand)
 
 VRTDerivedRasterBand (GDALDataset *poDS, int nBand, GDALDataType eType, int nXSize, int nYSize)
 
virtual CPLErr IRasterIO (GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, int, int)
 
void SetPixelFunctionName (const char *pszFuncName)
 
void SetSourceTransferType (GDALDataType eDataType)
 
virtual CPLErr XMLInit (CPLXMLNode *, const char *)
 
virtual CPLXMLNode * SerializeToXML (const char *pszVRTPath)
 
- Public Member Functions inherited from VRTSourcedRasterBand
 VRTSourcedRasterBand (GDALDataset *poDS, int nBand)
 
 VRTSourcedRasterBand (GDALDataType eType, int nXSize, int nYSize)
 
 VRTSourcedRasterBand (GDALDataset *poDS, int nBand, GDALDataType eType, int nXSize, int nYSize)
 
virtual const char * GetMetadataItem (const char *pszName, const char *pszDomain="")
 
virtual char ** GetMetadata (const char *pszDomain="")
 
virtual CPLErr SetMetadata (char **papszMetadata, const char *pszDomain="")
 
virtual CPLErr SetMetadataItem (const char *pszName, const char *pszValue, const char *pszDomain="")
 
virtual double GetMinimum (int *pbSuccess=NULL)
 
virtual double GetMaximum (int *pbSuccess=NULL)
 
CPLErr AddSource (VRTSource *)
 
CPLErr AddSimpleSource (GDALRasterBand *poSrcBand, int nSrcXOff=-1, int nSrcYOff=-1, int nSrcXSize=-1, int nSrcYSize=-1, int nDstXOff=-1, int nDstYOff=-1, int nDstXSize=-1, int nDstYSize=-1, const char *pszResampling="near", double dfNoDataValue=VRT_NODATA_UNSET)
 
CPLErr AddComplexSource (GDALRasterBand *poSrcBand, int nSrcXOff=-1, int nSrcYOff=-1, int nSrcXSize=-1, int nSrcYSize=-1, int nDstXOff=-1, int nDstYOff=-1, int nDstXSize=-1, int nDstYSize=-1, double dfScaleOff=0.0, double dfScaleRatio=1.0, double dfNoDataValue=VRT_NODATA_UNSET, int nColorTableComponent=0)
 
CPLErr AddMaskBandSource (GDALRasterBand *poSrcBand, int nSrcXOff=-1, int nSrcYOff=-1, int nSrcXSize=-1, int nSrcYSize=-1, int nDstXOff=-1, int nDstYOff=-1, int nDstXSize=-1, int nDstYSize=-1)
 
CPLErr AddFuncSource (VRTImageReadFunc pfnReadFunc, void *hCBData, double dfNoDataValue=VRT_NODATA_UNSET)
 
virtual CPLErr IReadBlock (int, int, void *)
 
virtual void GetFileList (char ***ppapszFileList, int *pnSize, int *pnMaxSize, CPLHashSet *hSetFiles)
 
virtual int CloseDependentDatasets ()
 
virtual int IsSourcedRasterBand ()
 
- Public Member Functions inherited from VRTRasterBand
virtual CPLErr SetNoDataValue (double)
 
virtual double GetNoDataValue (int *pbSuccess=NULL)
 
virtual CPLErr SetColorTable (GDALColorTable *)
 
virtual GDALColorTable * GetColorTable ()
 
virtual CPLErr SetColorInterpretation (GDALColorInterp)
 
virtual GDALColorInterp GetColorInterpretation ()
 
virtual const char * GetUnitType ()
 
CPLErr SetUnitType (const char *)
 
virtual char ** GetCategoryNames ()
 
virtual CPLErr SetCategoryNames (char **)
 
virtual double GetOffset (int *pbSuccess=NULL)
 
CPLErr SetOffset (double)
 
virtual double GetScale (int *pbSuccess=NULL)
 
CPLErr SetScale (double)
 
virtual int GetOverviewCount ()
 
virtual GDALRasterBand * GetOverview (int)
 
virtual CPLErr GetHistogram (double dfMin, double dfMax, int nBuckets, int *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc, void *pProgressData)
 
virtual CPLErr GetDefaultHistogram (double *pdfMin, double *pdfMax, int *pnBuckets, int **ppanHistogram, int bForce, GDALProgressFunc, void *pProgressData)
 
virtual CPLErr SetDefaultHistogram (double dfMin, double dfMax, int nBuckets, int *panHistogram)
 
CPLErr CopyCommonInfoFrom (GDALRasterBand *)
 
virtual void SetDescription (const char *)
 
virtual GDALRasterBand * GetMaskBand ()
 
virtual int GetMaskFlags ()
 
virtual CPLErr CreateMaskBand (int nFlags)
 
void SetMaskBand (VRTRasterBand *poMaskBand)
 
void SetIsMaskBand ()
 
CPLErr UnsetNoDataValue ()
 

Static Public Member Functions

static CPLErr AddPixelFunction (const char *pszFuncName, GDALDerivedPixelFunc pfnPixelFunc)
 
static GDALDerivedPixelFunc GetPixelFunction (const char *pszFuncName)
 

Public Attributes

char * pszFuncName
 
GDALDataType eSourceTransferType
 
- Public Attributes inherited from VRTSourcedRasterBand
int nSources
 
VRTSource ** papoSources
 
int bEqualAreas
 

Additional Inherited Members

- Protected Member Functions inherited from VRTRasterBand
void Initialize (int nXSize, int nYSize)
 
- Protected Attributes inherited from VRTRasterBand
int bIsMaskBand
 
int bNoDataValueSet
 
int bHideNoDataValue
 
double dfNoDataValue
 
GDALColorTable * poColorTable
 
GDALColorInterp eColorInterp
 
char * pszUnitType
 
char ** papszCategoryNames
 
double dfOffset
 
double dfScale
 
CPLXMLNode * psSavedHistograms
 
std::vector< VRTOverviewInfoapoOverviews
 
VRTRasterBandpoMaskBand
 

Member Function Documentation

CPLErr VRTDerivedRasterBand::AddPixelFunction ( const char *  pszFuncName,
GDALDerivedPixelFunc  pfnNewFunction 
)
static

This adds a pixel function to the global list of available pixel functions for derived bands.

This is the same as the c function GDALAddDerivedBandPixelFunc()

Parameters
pszFuncNameName used to access pixel function
pfnNewFunctionPixel function associated with name. An existing pixel function registered with the same name will be replaced with the new one.
Returns
CE_None, invalid (NULL) parameters are currently ignored.
GDALDerivedPixelFunc VRTDerivedRasterBand::GetPixelFunction ( const char *  pszFuncName)
static

Get a pixel function previously registered using the global AddPixelFunction.

Parameters
pszFuncNameThe name associated with the pixel function.
Returns
A derived band pixel function, or NULL if none have been registered for pszFuncName.
CPLErr VRTDerivedRasterBand::IRasterIO ( GDALRWFlag  eRWFlag,
int  nXOff,
int  nYOff,
int  nXSize,
int  nYSize,
void *  pData,
int  nBufXSize,
int  nBufYSize,
GDALDataType  eBufType,
int  nPixelSpace,
int  nLineSpace 
)
virtual

Read/write a region of image data for this band.

Each of the sources for this derived band will be read and passed to the derived band pixel function. The pixel function is responsible for applying whatever algorithm is necessary to generate this band's pixels from the sources.

The sources will be read using the transfer type specified for sources using SetSourceTransferType(). If no transfer type has been set for this derived band, the band's data type will be used as the transfer type.

See Also
gdalrasterband
Parameters
eRWFlagEither GF_Read to read a region of data, or GT_Write to write a region of data.
nXOffThe pixel offset to the top left corner of the region of the band to be accessed. This would be zero to start from the left side.
nYOffThe line offset to the top left corner of the region of the band to be accessed. This would be zero to start from the top.
nXSizeThe width of the region of the band to be accessed in pixels.
nYSizeThe height of the region of the band to be accessed in lines.
pDataThe buffer into which the data should be read, or from which it should be written. This buffer must contain at least nBufXSize * nBufYSize words of type eBufType. It is organized in left to right, top to bottom pixel order. Spacing is controlled by the nPixelSpace, and nLineSpace parameters.
nBufXSizeThe width of the buffer image into which the desired region is to be read, or from which it is to be written.
nBufYSizeThe height of the buffer image into which the desired region is to be read, or from which it is to be written.
eBufTypeThe type of the pixel values in the pData data buffer. The pixel values will automatically be translated to/from the GDALRasterBand data type as needed.
nPixelSpaceThe byte offset from the start of one pixel value in pData to the start of the next pixel value within a scanline. If defaulted (0) the size of the datatype eBufType is used.
nLineSpaceThe byte offset from the start of one scanline in pData to the start of the next. If defaulted the size of the datatype eBufType * nBufXSize is used.
Returns
CE_Failure if the access fails, otherwise CE_None.

Reimplemented from VRTSourcedRasterBand.

void VRTDerivedRasterBand::SetPixelFunctionName ( const char *  pszFuncName)

Set the pixel function name to be applied to this derived band. The name should match a pixel function registered using AddPixelFunction.

Parameters
pszFuncNameName of pixel function to be applied to this derived band.
void VRTDerivedRasterBand::SetSourceTransferType ( GDALDataType  eDataType)

Set the transfer type to be used to obtain pixel information from all of the sources. If unset, the transfer type used will be the same as the derived band data type. This makes it possible, for example, to pass CFloat32 source pixels to the pixel function, even if the pixel function generates a raster for a derived band that is of type Byte.

Parameters
eDataTypeData type to use to obtain pixel information from the sources to be passed to the derived band pixel function.

The documentation for this class was generated from the following files: