QGIS API Documentation
3.41.0-Master (af5edcb665c)
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 "
qgsderivativefilter.h
"
22
#include "qgis_analysis.h"
23
29
class
ANALYSIS_EXPORT
QgsHillshadeFilter
:
public
QgsDerivativeFilter
30
{
31
public
:
32
QgsHillshadeFilter
(
const
QString &inputFile,
const
QString &outputFile,
const
QString &outputFormat,
double
lightAzimuth = 300,
double
lightAngle = 40 );
33
34
float
processNineCellWindow
(
float
*x11,
float
*x21,
float
*x31,
float
*x12,
float
*x22,
float
*x32,
float
*x13,
float
*x23,
float
*x33 )
override
;
35
36
float
lightAzimuth
()
const
{
return
mLightAzimuth; }
37
void
setLightAzimuth(
float
azimuth );
38
float
lightAngle
()
const
{
return
mLightAngle; }
39
void
setLightAngle(
float
angle );
40
41
private
:
42
#ifdef HAVE_OPENCL
43
44
const
QString openClProgramBaseName()
const override
45
{
46
return
QStringLiteral(
"hillshade"
);
47
}
48
#endif
49
50
float
mLightAzimuth;
51
float
mLightAngle;
52
// Precalculate for speed:
53
float
mCosZenithRad;
54
float
mSinZenithRad;
55
float
mAzimuthRad;
56
57
58
#ifdef HAVE_OPENCL
59
private
:
60
void
addExtraRasterParams( std::vector<float> ¶ms )
override
;
61
#endif
62
};
63
64
#endif
// QGSHILLSHADEFILTER_H
QgsDerivativeFilter
Adds the ability to calculate derivatives in x- and y-directions.
Definition
qgsderivativefilter.h:31
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
A hillshade filter.
Definition
qgshillshadefilter.h:30
QgsHillshadeFilter::lightAngle
float lightAngle() const
Definition
qgshillshadefilter.h:38
QgsHillshadeFilter::lightAzimuth
float lightAzimuth() const
Definition
qgshillshadefilter.h:36
qgsderivativefilter.h
Generated on Thu Dec 26 2024 02:19:01 for QGIS API Documentation by
1.9.8