QGIS API Documentation
3.99.0-Master (e9821da5c6b)
Loading...
Searching...
No Matches
src
analysis
raster
qgshillshadefilter.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgshillshadefilter.h - description
3
--------------------------------
4
begin : September 26th, 2011
5
copyright : (C) 2011 by Marco Hugentobler
6
email : marco dot hugentobler at sourcepole dot ch
7
***************************************************************************/
8
9
/***************************************************************************
10
* *
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. *
15
* *
16
***************************************************************************/
17
18
#ifndef QGSHILLSHADEFILTER_H
19
#define QGSHILLSHADEFILTER_H
20
21
#include "qgis_analysis.h"
22
#include "
qgsderivativefilter.h
"
23
24
#include <QString>
25
26
using namespace
Qt::StringLiterals;
27
33
class
ANALYSIS_EXPORT
QgsHillshadeFilter
:
public
QgsDerivativeFilter
34
{
35
public
:
36
QgsHillshadeFilter
(
const
QString &inputFile,
const
QString &outputFile,
const
QString &outputFormat,
double
lightAzimuth
= 300,
double
lightAngle
= 40 );
37
38
float
processNineCellWindow
(
float
*x11,
float
*x21,
float
*x31,
float
*x12,
float
*x22,
float
*x32,
float
*x13,
float
*x23,
float
*x33 )
override
;
39
40
float
lightAzimuth
()
const
{
return
mLightAzimuth; }
41
void
setLightAzimuth(
float
azimuth );
42
float
lightAngle
()
const
{
return
mLightAngle; }
43
void
setLightAngle(
float
angle );
44
45
private
:
46
#ifdef HAVE_OPENCL
47
48
const
QString openClProgramBaseName()
const override
49
{
50
return
u
"hillshade"
_s;
51
}
52
#endif
53
54
float
mLightAzimuth;
55
float
mLightAngle;
56
// Precalculate for speed:
57
float
mCosZenithRad;
58
float
mSinZenithRad;
59
float
mAzimuthRad;
60
61
62
#ifdef HAVE_OPENCL
63
private
:
64
void
addExtraRasterParams( std::vector<float> ¶ms )
override
;
65
#endif
66
};
67
68
#endif
// QGSHILLSHADEFILTER_H
QgsDerivativeFilter::QgsDerivativeFilter
QgsDerivativeFilter(const QString &inputFile, const QString &outputFile, const QString &outputFormat)
Definition
qgsderivativefilter.cpp:20
QgsDerivativeFilter::processNineCellWindow
float processNineCellWindow(float *x11, float *x21, float *x31, float *x12, float *x22, float *x32, float *x13, float *x23, float *x33) override=0
Calculates output value from nine input values.
QgsHillshadeFilter::lightAngle
float lightAngle() const
Definition
qgshillshadefilter.h:42
QgsHillshadeFilter::QgsHillshadeFilter
QgsHillshadeFilter(const QString &inputFile, const QString &outputFile, const QString &outputFormat, double lightAzimuth=300, double lightAngle=40)
Definition
qgshillshadefilter.cpp:22
QgsHillshadeFilter::lightAzimuth
float lightAzimuth() const
Definition
qgshillshadefilter.h:40
qgsderivativefilter.h
Generated on
for QGIS API Documentation by
1.15.0