20 #ifndef __TERRALIB_RP_INTERNAL_BLENDERRULE_H
21 #define __TERRALIB_RP_INTERNAL_BLENDERRULE_H
25 #include "../raster/Raster.h"
26 #include "../raster/Interpolator.h"
27 #include "../geometry/MultiPolygon.h"
28 #include "../geometry/GeometricTransformation.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;
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...
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::...
const std::string & getErrorMessage() const
Return the current error message if there is any.
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)
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.
virtual BlenderRule * clone() const =0
Create a clone of this instance.
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...
const BlenderRule & operator=(const BlenderRule &other)
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...
Blended 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).