20#ifndef __TERRALIB_RP_INTERNAL_BLENDERRULE_H
21#define __TERRALIB_RP_INTERNAL_BLENDERRULE_H
108 const std::vector< unsigned int >& raster1Bands,
110 const std::vector< unsigned int >& raster2Bands,
113 const double& noDataValue,
114 const bool forceRaster1NoDataValue,
115 const bool forceRaster2NoDataValue,
116 const std::vector< double >& pixelOffsets1,
117 const std::vector< double >& pixelScales1,
118 const std::vector< double >& pixelOffsets2,
119 const std::vector< double >& pixelScales2,
135 const double& line2,
const double& col2,
double*
const blendedValuesPtr )
const = 0;
It interpolates one pixel based on a selected algorithm.
MultiPolygon is a MultiSurface whose elements are Polygons.
MultiPolygon is a MultiSurface whose elements are Polygons.
te::rst::Raster const * m_raster1Ptr
Input raster 1.
te::rst::Interpolator::Method m_interpMethod1
The interpolation method to use when reading raster 1 data.
bool m_forceRaster2NoDataValue
Use noDataValue as the input raster 2 no-data value (The original rasters no-data values will be igno...
std::vector< double > m_pixelScales2
The values scale to be applied to raster 2 pixel values before the blended value calcule (one element...
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, 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, te::gm::MultiPolygon const *const r1ValidDataDelimiterPtr, te::gm::MultiPolygon const *const r2ValidDataDelimiterPtr, const te::gm::GeometricTransformation &geomTransformation)
Inititate the blender instance.
std::unique_ptr< te::gm::MultiPolygon > m_r2ValidDataDelimiterPtr
A pointer to a geometry (raster 2 world/projected coords) delimiting the raster region with valid dat...
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.
bool m_forceRaster1NoDataValue
Use noDataValue as the input raster 1 no-data value (The original rasters no-data values will be igno...
std::unique_ptr< te::gm::GeometricTransformation > m_geomTransformationPtr
A transformation mapping raster 1 pixels ( te::gm::GTParameters::TiePoint::first ) to raster 2 ( te::...
virtual void getBlendedValues(const double &line1, const double &col1, const double &line2, const double &col2, double *const blendedValuesPtr) const =0
Blend a pixel value using the current parameters.
BlenderRule(const BlenderRule &other)
const BlenderRule & operator=(const BlenderRule &other)
te::rst::Interpolator::Method m_interpMethod2
The interpolation method to use when reading raster 2 data.
te::rst::Raster const * m_raster2Ptr
Input raster 2.
std::vector< unsigned int > m_raster2Bands
Input raster 2 band indexes to use.
std::vector< double > m_pixelOffsets2
The values offset to be applied to raster 2 pixel values before the blended value calcule (one elemen...
double m_outputNoDataValue
The output raster no-data value.
std::unique_ptr< te::gm::MultiPolygon > m_r1ValidDataDelimiterPtr
A pointer to a geometry (raster 1 world/projected coords) delimiting the raster region with valid dat...
std::vector< double > m_pixelScales1
The values scale to be applied to raster 1 pixel values before the blended value calcule (one element...
std::string m_errorMessage
Current error message.
void setErrorMessage(const std::string &newErrorMessage)
Set the current error message.
std::vector< double > m_pixelOffsets1
The values offset to be applied to raster 1 pixel values before the blended value calcule (one elemen...
virtual BlenderRule * clone() const =0
Create a clone of this instance.
Blended 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.