QGIS API Documentation  2.2.0-Valmiera
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
QgsCubicRasterResampler Class Reference

Cubic Raster Resampler. More...

#include <qgscubicrasterresampler.h>

Inheritance diagram for QgsCubicRasterResampler:
Inheritance graph
[legend]
Collaboration diagram for QgsCubicRasterResampler:
Collaboration graph
[legend]

Public Member Functions

 QgsCubicRasterResampler ()
 ~QgsCubicRasterResampler ()
QgsRasterResamplerclone () const
void resample (const QImage &srcImage, QImage &dstImage)
QString type () const
- Public Member Functions inherited from QgsRasterResampler
virtual ~QgsRasterResampler ()

Private Member Functions

void calculateControlPoints (int nCols, int nRows, int currentRow, int currentCol, int *redMatrix, int *greenMatrix, int *blueMatrix, int *alphaMatrix, double *xDerivativeMatrixRed, double *xDerivativeMatrixGreen, double *xDerivativeMatrixBlue, double *xDerivativeMatrixAlpha, double *yDerivativeMatrixRed, double *yDerivativeMatrixGreen, double *yDerivativeMatrixBlue, double *yDerivativeMatrixAlpha)
QRgb curveInterpolation (QRgb pt1, QRgb pt2, double t, double d1red, double d1green, double d1blue, double d1alpha, double d2red, double d2green, double d2blue, double d2alpha)
 Use cubic curve interpoation at the borders of the raster.

Static Private Member Functions

static void xDerivativeMatrix (int nCols, int nRows, double *matrix, const int *colorMatrix)
static void yDerivativeMatrix (int nCols, int nRows, double *matrix, const int *colorMatrix)
static double calcBernsteinPoly (int n, int i, double t)
static int lower (int n, int i)
static double power (double a, int b)
static int faculty (int n)

Private Attributes

double cRed00
double cRed10
double cRed20
double cRed30
double cRed01
double cRed11
double cRed21
double cRed31
double cRed02
double cRed12
double cRed22
double cRed32
double cRed03
double cRed13
double cRed23
double cRed33
double cGreen00
double cGreen10
double cGreen20
double cGreen30
double cGreen01
double cGreen11
double cGreen21
double cGreen31
double cGreen02
double cGreen12
double cGreen22
double cGreen32
double cGreen03
double cGreen13
double cGreen23
double cGreen33
double cBlue00
double cBlue10
double cBlue20
double cBlue30
double cBlue01
double cBlue11
double cBlue21
double cBlue31
double cBlue02
double cBlue12
double cBlue22
double cBlue32
double cBlue03
double cBlue13
double cBlue23
double cBlue33
double cAlpha00
double cAlpha10
double cAlpha20
double cAlpha30
double cAlpha01
double cAlpha11
double cAlpha21
double cAlpha31
double cAlpha02
double cAlpha12
double cAlpha22
double cAlpha32
double cAlpha03
double cAlpha13
double cAlpha23
double cAlpha33

Detailed Description

Cubic Raster Resampler.

Definition at line 27 of file qgscubicrasterresampler.h.

Constructor & Destructor Documentation

QgsCubicRasterResampler::QgsCubicRasterResampler ( )

Definition at line 22 of file qgscubicrasterresampler.cpp.

Referenced by clone().

QgsCubicRasterResampler::~QgsCubicRasterResampler ( )

Definition at line 26 of file qgscubicrasterresampler.cpp.

Member Function Documentation

double QgsCubicRasterResampler::calcBernsteinPoly ( int  n,
int  i,
double  t 
)
staticprivate

Definition at line 400 of file qgscubicrasterresampler.cpp.

References lower(), and power().

Referenced by curveInterpolation(), and resample().

void QgsCubicRasterResampler::calculateControlPoints ( int  nCols,
int  nRows,
int  currentRow,
int  currentCol,
int *  redMatrix,
int *  greenMatrix,
int *  blueMatrix,
int *  alphaMatrix,
double *  xDerivativeMatrixRed,
double *  xDerivativeMatrixGreen,
double *  xDerivativeMatrixBlue,
double *  xDerivativeMatrixAlpha,
double *  yDerivativeMatrixRed,
double *  yDerivativeMatrixGreen,
double *  yDerivativeMatrixBlue,
double *  yDerivativeMatrixAlpha 
)
private
QgsRasterResampler * QgsCubicRasterResampler::clone ( ) const
virtual

Implements QgsRasterResampler.

Definition at line 30 of file qgscubicrasterresampler.cpp.

References QgsCubicRasterResampler().

QRgb QgsCubicRasterResampler::curveInterpolation ( QRgb  pt1,
QRgb  pt2,
double  t,
double  d1red,
double  d1green,
double  d1blue,
double  d1alpha,
double  d2red,
double  d2green,
double  d2blue,
double  d2alpha 
)
private

Use cubic curve interpoation at the borders of the raster.

Definition at line 377 of file qgscubicrasterresampler.cpp.

References calcBernsteinPoly().

Referenced by resample().

int QgsCubicRasterResampler::faculty ( int  n)
staticprivate

Definition at line 444 of file qgscubicrasterresampler.cpp.

Referenced by lower().

int QgsCubicRasterResampler::lower ( int  n,
int  i 
)
staticprivate

Definition at line 410 of file qgscubicrasterresampler.cpp.

References faculty().

Referenced by calcBernsteinPoly().

double QgsCubicRasterResampler::power ( double  a,
int  b 
)
staticprivate

Definition at line 422 of file qgscubicrasterresampler.cpp.

Referenced by calcBernsteinPoly().

void QgsCubicRasterResampler::resample ( const QImage &  srcImage,
QImage &  dstImage 
)
virtual
QString QgsCubicRasterResampler::type ( ) const
inlinevirtual

Implements QgsRasterResampler.

Definition at line 34 of file qgscubicrasterresampler.h.

void QgsCubicRasterResampler::xDerivativeMatrix ( int  nCols,
int  nRows,
double *  matrix,
const int *  colorMatrix 
)
staticprivate

Definition at line 274 of file qgscubicrasterresampler.cpp.

References index.

Referenced by resample().

void QgsCubicRasterResampler::yDerivativeMatrix ( int  nCols,
int  nRows,
double *  matrix,
const int *  colorMatrix 
)
staticprivate

Definition at line 301 of file qgscubicrasterresampler.cpp.

References index.

Referenced by resample().

Member Data Documentation

double QgsCubicRasterResampler::cAlpha00
private

Definition at line 66 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cAlpha01
private

Definition at line 66 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cAlpha02
private

Definition at line 67 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cAlpha03
private

Definition at line 67 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cAlpha10
private

Definition at line 66 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cAlpha11
private

Definition at line 66 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cAlpha12
private

Definition at line 67 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cAlpha13
private

Definition at line 67 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cAlpha20
private

Definition at line 66 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cAlpha21
private

Definition at line 66 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cAlpha22
private

Definition at line 67 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cAlpha23
private

Definition at line 67 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cAlpha30
private

Definition at line 66 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cAlpha31
private

Definition at line 66 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cAlpha32
private

Definition at line 67 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cAlpha33
private

Definition at line 67 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cBlue00
private

Definition at line 63 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cBlue01
private

Definition at line 63 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cBlue02
private

Definition at line 64 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cBlue03
private

Definition at line 64 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cBlue10
private

Definition at line 63 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cBlue11
private

Definition at line 63 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cBlue12
private

Definition at line 64 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cBlue13
private

Definition at line 64 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cBlue20
private

Definition at line 63 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cBlue21
private

Definition at line 63 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cBlue22
private

Definition at line 64 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cBlue23
private

Definition at line 64 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cBlue30
private

Definition at line 63 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cBlue31
private

Definition at line 63 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cBlue32
private

Definition at line 64 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cBlue33
private

Definition at line 64 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cGreen00
private

Definition at line 60 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cGreen01
private

Definition at line 60 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cGreen02
private

Definition at line 61 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cGreen03
private

Definition at line 61 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cGreen10
private

Definition at line 60 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cGreen11
private

Definition at line 60 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cGreen12
private

Definition at line 61 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cGreen13
private

Definition at line 61 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cGreen20
private

Definition at line 60 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cGreen21
private

Definition at line 60 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cGreen22
private

Definition at line 61 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cGreen23
private

Definition at line 61 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cGreen30
private

Definition at line 60 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cGreen31
private

Definition at line 60 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cGreen32
private

Definition at line 61 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cGreen33
private

Definition at line 61 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cRed00
private

Definition at line 57 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cRed01
private

Definition at line 57 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cRed02
private

Definition at line 58 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cRed03
private

Definition at line 58 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cRed10
private

Definition at line 57 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cRed11
private

Definition at line 57 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cRed12
private

Definition at line 58 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cRed13
private

Definition at line 58 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cRed20
private

Definition at line 57 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cRed21
private

Definition at line 57 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cRed22
private

Definition at line 58 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cRed23
private

Definition at line 58 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cRed30
private

Definition at line 57 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cRed31
private

Definition at line 57 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cRed32
private

Definition at line 58 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().

double QgsCubicRasterResampler::cRed33
private

Definition at line 58 of file qgscubicrasterresampler.h.

Referenced by calculateControlPoints(), and resample().


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