20 #ifndef __TERRALIB_RP_INTERNAL_COMPOSER_RULE_H
21 #define __TERRALIB_RP_INTERNAL_COMPOSER_RULE_H
24 #include "../raster/Raster.h"
25 #include "../raster/Interpolator.h"
26 #include "../geometry/MultiPolygon.h"
27 #include "../geometry/GeometricTransformation.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;
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.
const ComposerRule & operator=(const ComposerRule &other)
te::rst::Raster * m_raster3Ptr
Input raster 3.
const std::string & getErrorMessage() const
Return the current error message if there is any.
std::vector< unsigned int > m_raster1Bands
Input raster 1 band indexes to use.
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.
An abstract class for raster data strucutures.
InterpolationMethod
Allowed interpolation methods.
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
Proxy configuration file for TerraView (see terraview_config.h).