20#ifndef __TERRALIB_RP_INTERNAL_COMPOSER_RULE_H
21#define __TERRALIB_RP_INTERNAL_COMPOSER_RULE_H
105 const std::vector< unsigned int >& raster1Bands,
107 const std::vector< unsigned int >& raster2Bands,
109 const std::vector< unsigned int >& raster3Bands,
112 const double& noDataValue,
113 const bool forceRaster1NoDataValue,
114 const bool forceRaster2NoDataValue,
115 const std::vector< double >& pixelOffsets1,
116 const std::vector< double >& pixelScales1,
117 const std::vector< double >& pixelOffsets2,
118 const std::vector< double >& pixelScales2 );
129 double*
const composedValuesPtr )
const = 0;
It interpolates one pixel based on a selected algorithm.
MultiPolygon is a MultiSurface whose elements are Polygons.
const std::string & getErrorMessage() const
Return the current error message if there is any.
bool m_forceRaster2NoDataValue
Use noDataValue as the input raster 2 no-data value (The original rasters no-data values will be igno...
std::string m_errorMessage
Current error message.
virtual bool initialize(const te::rst::Raster &raster1, const std::vector< unsigned int > &raster1Bands, const te::rst::Raster &raster2, const std::vector< unsigned int > &raster2Bands, te::rst::Raster &raster3, const std::vector< unsigned int > &raster3Bands, const te::rst::Interpolator::Method &interpMethod1, const te::rst::Interpolator::Method &interpMethod2, const double &noDataValue, const bool forceRaster1NoDataValue, const bool forceRaster2NoDataValue, const std::vector< double > &pixelOffsets1, const std::vector< double > &pixelScales1, const std::vector< double > &pixelOffsets2, const std::vector< double > &pixelScales2)
Inititate the instance.
std::vector< double > m_pixelScales1
The values scale to be applied to raster 1 pixel values before the composed value calcule (one elemen...
std::vector< double > m_pixelOffsets1
The values offset to be applied to raster 1 pixel values before the composed value calcule (one eleme...
te::rst::Interpolator::Method m_interpMethod1
The interpolation method to use when reading raster 1 data.
te::rst::Raster const * m_raster1Ptr
Input raster 1.
ComposerRule(const ComposerRule &other)
bool m_forceRaster1NoDataValue
Use noDataValue as the input raster 1 no-data value (The original rasters no-data values will be igno...
te::rst::Raster const * m_raster2Ptr
Input raster 2.
te::rst::Raster * m_raster3Ptr
Input raster 3.
std::vector< unsigned int > m_raster1Bands
Input raster 1 band indexes to use.
const ComposerRule & operator=(const ComposerRule &other)
std::vector< double > m_pixelScales2
The values scale to be applied to raster 2 pixel values before the composed value calcule (one elemen...
std::vector< unsigned int > m_raster2Bands
Input raster 2 band indexes to use.
te::rst::Interpolator::Method m_interpMethod2
The interpolation method to use when reading raster 2 data.
std::vector< double > m_pixelOffsets2
The values offset to be applied to raster 2 pixel values before the composed value calcule (one eleme...
std::vector< unsigned int > m_raster3Bands
Input raster 3 band indexes to use.
virtual void getComposedValues(const double &line, const double &col, double *const composedValuesPtr) const =0
Compose a pixel value using the current parameters.
virtual ComposerRule * clone() const =0
Create a clone of this instance.
void setErrorMessage(const std::string &newErrorMessage)
Set the current error message.
double m_outputNoDataValue
The output raster no-data value.
Composed pixel value calculation for two overlaped rasters.
InterpolationMethod Method
Allowed interpolation methods.
An abstract class for raster data strucutures.
Namespace for Raster Processing module of TerraLib.
An abstract class for raster data strucutures.
Configuration flags for the Raster Processing module of TerraLib.
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.