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).