te::rp::ComposerRule Class Referenceabstract

#include <ComposerRule.h>

Inheritance diagram for te::rp::ComposerRule:
te::rp::ComposerRuleValidNeighborhood te::rp::ComposerRuleValidPixel

Public Member Functions

const std::string & getErrorMessage () const
 Return the current error message if there is any. More...
 
virtual ~ComposerRule ()
 

Protected Member Functions

void clear ()
 
virtual ComposerRuleclone () const =0
 Create a clone of this instance. More...
 
 ComposerRule ()
 
 ComposerRule (const ComposerRule &other)
 
virtual void getComposedValues (const double &line, const double &col, double *const composedValuesPtr) const =0
 Compose a pixel value using the current parameters. More...
 
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. More...
 
void initState ()
 
const ComposerRuleoperator= (const ComposerRule &other)
 
void setErrorMessage (const std::string &newErrorMessage)
 Set the current error message. More...
 

Protected Attributes

std::string m_errorMessage
 Current error message. More...
 
bool m_forceRaster1NoDataValue
 Use noDataValue as the input raster 1 no-data value (The original rasters no-data values will be ignored) More...
 
bool m_forceRaster2NoDataValue
 Use noDataValue as the input raster 2 no-data value (The original rasters no-data values will be ignored)
More...
 
te::rst::Interpolator::Method m_interpMethod1
 The interpolation method to use when reading raster 1 data. More...
 
te::rst::Interpolator::Method m_interpMethod2
 The interpolation method to use when reading raster 2 data. More...
 
double m_outputNoDataValue
 The output raster no-data value. More...
 
std::vector< double > m_pixelOffsets1
 The values offset to be applied to raster 1 pixel values before the composed value calcule (one element for each used raster channel/band). More...
 
std::vector< double > m_pixelOffsets2
 The values offset to be applied to raster 2 pixel values before the composed value calcule (one element for each used raster channel/band). More...
 
std::vector< double > m_pixelScales1
 The values scale to be applied to raster 1 pixel values before the composed value calcule (one element for each used raster channel/band). More...
 
std::vector< double > m_pixelScales2
 The values scale to be applied to raster 2 pixel values before the composed value calcule (one element for each used raster channel/band). More...
 
std::vector< unsigned int > m_raster1Bands
 Input raster 1 band indexes to use. More...
 
te::rst::Raster const * m_raster1Ptr
 Input raster 1. More...
 
std::vector< unsigned int > m_raster2Bands
 Input raster 2 band indexes to use. More...
 
te::rst::Raster const * m_raster2Ptr
 Input raster 2. More...
 
std::vector< unsigned int > m_raster3Bands
 Input raster 3 band indexes to use. More...
 
te::rst::Rasterm_raster3Ptr
 Input raster 3. More...
 

Friends

class Composer
 

Detailed Description

Definition at line 43 of file ComposerRule.h.

Constructor & Destructor Documentation

◆ ~ComposerRule()

virtual te::rp::ComposerRule::~ComposerRule ( )
virtual

◆ ComposerRule() [1/2]

te::rp::ComposerRule::ComposerRule ( )
protected

◆ ComposerRule() [2/2]

te::rp::ComposerRule::ComposerRule ( const ComposerRule other)
protected

Member Function Documentation

◆ clear()

void te::rp::ComposerRule::clear ( )
protected

◆ clone()

virtual ComposerRule* te::rp::ComposerRule::clone ( ) const
protectedpure virtual

Create a clone of this instance.

Returns
A clone of this instance.
Note
The caller of this method must take othe owndershipd of the returned pointer.

Implemented in te::rp::ComposerRuleValidPixel, and te::rp::ComposerRuleValidNeighborhood.

◆ getComposedValues()

virtual void te::rp::ComposerRule::getComposedValues ( const double &  line,
const double &  col,
double *const  composedValuesPtr 
) const
protectedpure virtual

Compose a pixel value using the current parameters.

Parameters
lineLine (raster 3 reference).
colColumn (raster 3 reference).
composedValuesPtrA pointer to a pre-allocated vector where the composed values will be stored.
Note
The caller of this method must be aware that the returned composed value may be outside the original input rasters valid values range.
Raster 1 values have precedence over raster 2 values (when applicable).

Implemented in te::rp::ComposerRuleValidPixel, and te::rp::ComposerRuleValidNeighborhood.

◆ getErrorMessage()

const std::string& te::rp::ComposerRule::getErrorMessage ( ) const

Return the current error message if there is any.

Returns
Return the current error message if there is any.

◆ initialize()

virtual bool te::rp::ComposerRule::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 
)
protectedvirtual

Inititate the instance.

Parameters
raster1Raster 1.
raster1BandsRaster 1 band indexes to use.
raster2Raster 2.
raster2BandsRaster 2 band indexes to use (this vector has the same size as raster1Bands).
raster3Raster 3.
raster3BandsRaster 3 band indexes to use (this vector has the same size as raster1Bands).
interpMethod1The interpolation method to use when reading raster 1 data.
interpMethod2The interpolation method to use when reading raster 2 data.
noDataValueThe value returned where there is no pixel data.
forceRaster1NoDataValueUse noDataValue as the input raster 1 no-data value (The original rasters no-data values will be ignored)
forceRaster2NoDataValueUse noDataValue as the input raster 1 no-data value (The original rasters no-data values will be ignored)
pixelOffsets1The values offset to be applied to raster 1 pixel values before the composed value calcule (one element for each used raster channel/band).
pixelScales1The values scale to be applied to raster 1 pixel values before the composed value calcule (one element for each used raster channel/band).
pixelOffsets2The values offset to be applied to raster 2 pixel values before the composed value calcule (one element for each used raster channel/band).
pixelScales2The values scale to be applied to raster 2 pixel values before the composed value calcule (one element for each used raster channel/band).
Returns
true if ok, false on errors
Note
Aboute scale and offset parametrs: outValue = ( inputValue * scale ) + offset

Reimplemented in te::rp::ComposerRuleValidPixel, and te::rp::ComposerRuleValidNeighborhood.

◆ initState()

void te::rp::ComposerRule::initState ( )
protected

◆ operator=()

const ComposerRule& te::rp::ComposerRule::operator= ( const ComposerRule other)
protected

◆ setErrorMessage()

void te::rp::ComposerRule::setErrorMessage ( const std::string &  newErrorMessage)
protected

Set the current error message.

Parameters
newErrorMessageNew error message;

Friends And Related Function Documentation

◆ Composer

friend class Composer
friend

Definition at line 58 of file ComposerRule.h.

Member Data Documentation

◆ m_errorMessage

std::string te::rp::ComposerRule::m_errorMessage
protected

Current error message.

Definition at line 75 of file ComposerRule.h.

◆ m_forceRaster1NoDataValue

bool te::rp::ComposerRule::m_forceRaster1NoDataValue
protected

Use noDataValue as the input raster 1 no-data value (The original rasters no-data values will be ignored)

Definition at line 60 of file ComposerRule.h.

◆ m_forceRaster2NoDataValue

bool te::rp::ComposerRule::m_forceRaster2NoDataValue
protected

Use noDataValue as the input raster 2 no-data value (The original rasters no-data values will be ignored)

Definition at line 61 of file ComposerRule.h.

◆ m_interpMethod1

te::rst::Interpolator::Method te::rp::ComposerRule::m_interpMethod1
protected

The interpolation method to use when reading raster 1 data.

Definition at line 65 of file ComposerRule.h.

◆ m_interpMethod2

te::rst::Interpolator::Method te::rp::ComposerRule::m_interpMethod2
protected

The interpolation method to use when reading raster 2 data.

Definition at line 66 of file ComposerRule.h.

◆ m_outputNoDataValue

double te::rp::ComposerRule::m_outputNoDataValue
protected

The output raster no-data value.

Definition at line 67 of file ComposerRule.h.

◆ m_pixelOffsets1

std::vector< double > te::rp::ComposerRule::m_pixelOffsets1
protected

The values offset to be applied to raster 1 pixel values before the composed value calcule (one element for each used raster channel/band).

Definition at line 71 of file ComposerRule.h.

◆ m_pixelOffsets2

std::vector< double > te::rp::ComposerRule::m_pixelOffsets2
protected

The values offset to be applied to raster 2 pixel values before the composed value calcule (one element for each used raster channel/band).

Definition at line 73 of file ComposerRule.h.

◆ m_pixelScales1

std::vector< double > te::rp::ComposerRule::m_pixelScales1
protected

The values scale to be applied to raster 1 pixel values before the composed value calcule (one element for each used raster channel/band).

Definition at line 72 of file ComposerRule.h.

◆ m_pixelScales2

std::vector< double > te::rp::ComposerRule::m_pixelScales2
protected

The values scale to be applied to raster 2 pixel values before the composed value calcule (one element for each used raster channel/band).

Definition at line 74 of file ComposerRule.h.

◆ m_raster1Bands

std::vector< unsigned int > te::rp::ComposerRule::m_raster1Bands
protected

Input raster 1 band indexes to use.

Definition at line 68 of file ComposerRule.h.

◆ m_raster1Ptr

te::rst::Raster const* te::rp::ComposerRule::m_raster1Ptr
protected

Input raster 1.

Definition at line 62 of file ComposerRule.h.

◆ m_raster2Bands

std::vector< unsigned int > te::rp::ComposerRule::m_raster2Bands
protected

Input raster 2 band indexes to use.

Definition at line 69 of file ComposerRule.h.

◆ m_raster2Ptr

te::rst::Raster const* te::rp::ComposerRule::m_raster2Ptr
protected

Input raster 2.

Definition at line 63 of file ComposerRule.h.

◆ m_raster3Bands

std::vector< unsigned int > te::rp::ComposerRule::m_raster3Bands
protected

Input raster 3 band indexes to use.

Definition at line 70 of file ComposerRule.h.

◆ m_raster3Ptr

te::rst::Raster* te::rp::ComposerRule::m_raster3Ptr
protected

Input raster 3.

Definition at line 64 of file ComposerRule.h.


The documentation for this class was generated from the following file: