1
/***************************************************************************
2
qgstotalcurvaturefilter.h - description
4
begin : August 21th, 2009
5
copyright : (C) 2009 by Marco Hugentobler
6
email : marco dot hugentobler at karto dot baug dot ethz dot ch
7
***************************************************************************/
9
/***************************************************************************
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
16
***************************************************************************/
18
#ifndef QGSTOTALCURVATUREFILTER_H
19
#define QGSTOTALCURVATUREFILTER_H
21
#include "qgsninecellfilter.h"
23
/**Calculates total curvature as described by Wilson, Gallant (2000): terrain analysis*/
24
class ANALYSIS_EXPORT QgsTotalCurvatureFilter: public QgsNineCellFilter
27
QgsTotalCurvatureFilter( const QString& inputFile, const QString& outputFile, const QString& outputFormat );
28
~QgsTotalCurvatureFilter();
31
/**Calculates total curvature from nine input values. The input values and the output value can be equal to the \
32
nodata value if not present or outside of the border. Must be implemented by subclasses*/
33
float processNineCellWindow( float* x11, float* x21, float* x31, \
34
float* x12, float* x22, float* x32, float* x13, float* x23, float* x33 );
37
#endif // QGSTOTALCURVATUREFILTER_H