QGIS API Documentation
2.14.0-Essen
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
analysis
raster
qgsrastercalcnode.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsrastercalcnode.h
3
Node for raster calculator tree
4
--------------------
5
begin : 2010-10-23
6
copyright : (C) 20010 by Marco Hugentobler
7
email : marco dot hugentobler at sourcepole dot ch
8
***************************************************************************/
9
10
/***************************************************************************
11
* *
12
* This program is free software; you can redistribute it and/or modify *
13
* it under the terms of the GNU General Public License as published by *
14
* the Free Software Foundation; either version 2 of the License, or *
15
* (at your option) any later version. *
16
* *
17
***************************************************************************/
18
19
#ifndef QGSRASTERCALCNODE_H
20
#define QGSRASTERCALCNODE_H
21
22
#include "
qgsrastermatrix.h
"
23
#include <QMap>
24
#include <QString>
25
26
class
QgsRasterBlock
;
27
28
class
ANALYSIS_EXPORT
QgsRasterCalcNode
29
{
30
public
:
32
enum
Type
33
{
34
tOperator = 1,
35
tNumber
,
36
tRasterRef
,
37
tMatrix
38
};
39
41
enum
Operator
42
{
43
opPLUS
,
44
opMINUS
,
45
opMUL
,
46
opDIV
,
47
opPOW
,
48
opSQRT
,
49
opSIN
,
50
opCOS
,
51
opTAN
,
52
opASIN
,
53
opACOS
,
54
opATAN
,
55
opEQ
,
// =
56
opNE
,
57
opGT
,
// >
58
opLT
,
// <
59
opGE
,
// >=
60
opLE
,
// <=
61
opAND
,
62
opOR
,
63
opSIGN
,
// change sign
64
opLOG
,
65
opLOG10
,
66
opNONE
,
67
};
68
69
QgsRasterCalcNode
();
70
QgsRasterCalcNode
(
double
number );
71
QgsRasterCalcNode
(
QgsRasterMatrix
* matrix );
72
QgsRasterCalcNode
(
Operator
op,
QgsRasterCalcNode
* left,
QgsRasterCalcNode
* right );
73
QgsRasterCalcNode
(
const
QString
& rasterName );
74
~
QgsRasterCalcNode
();
75
76
Type
type
()
const
{
return
mType; }
77
78
//set left node
79
void
setLeft
(
QgsRasterCalcNode
* left ) {
delete
mLeft; mLeft = left; }
80
void
setRight
(
QgsRasterCalcNode
* right ) {
delete
mRight; mRight = right; }
81
90
bool
calculate(
QMap<QString, QgsRasterBlock* >
& rasterData,
QgsRasterMatrix
& result,
int
row = -1 )
const
;
91
94
Q_DECL_DEPRECATED
bool
calculate(
QMap<QString, QgsRasterMatrix*>
& rasterData,
QgsRasterMatrix
& result )
const
;
95
96
static
QgsRasterCalcNode
* parseRasterCalcString(
const
QString
& str,
QString
& parserErrorMsg );
97
98
private
:
99
Type
mType;
100
QgsRasterCalcNode
* mLeft;
101
QgsRasterCalcNode
* mRight;
102
double
mNumber;
103
QString
mRasterName;
104
QgsRasterMatrix
* mMatrix;
105
Operator
mOperator;
106
107
QgsRasterCalcNode
(
const
QgsRasterCalcNode
& rh );
108
QgsRasterCalcNode
& operator=(
const
QgsRasterCalcNode
& rh );
109
};
110
111
112
#endif // QGSRASTERCALCNODE_H
QgsRasterCalcNode::tNumber
Definition:
qgsrastercalcnode.h:35
QgsRasterCalcNode::opLT
Definition:
qgsrastercalcnode.h:58
QMap
QgsRasterCalcNode::opMINUS
Definition:
qgsrastercalcnode.h:44
QgsRasterCalcNode::opMUL
Definition:
qgsrastercalcnode.h:45
qgsrastermatrix.h
QgsRasterCalcNode::opAND
Definition:
qgsrastercalcnode.h:61
QgsRasterCalcNode::tRasterRef
Definition:
qgsrastercalcnode.h:36
QgsRasterCalcNode::opPLUS
Definition:
qgsrastercalcnode.h:43
QgsRasterCalcNode::opGE
Definition:
qgsrastercalcnode.h:59
QgsRasterCalcNode::opNE
Definition:
qgsrastercalcnode.h:56
QgsRasterCalcNode::opLOG
Definition:
qgsrastercalcnode.h:64
QgsRasterBlock
Raster data container.
Definition:
qgsrasterblock.h:32
QgsRasterCalcNode::opNONE
Definition:
qgsrastercalcnode.h:66
QgsRasterCalcNode::opDIV
Definition:
qgsrastercalcnode.h:46
QgsRasterCalcNode::Type
Type
defines possible types of node
Definition:
qgsrastercalcnode.h:32
QgsRasterCalcNode::Operator
Operator
possible operators
Definition:
qgsrastercalcnode.h:41
QgsRasterCalcNode::opGT
=
Definition:
qgsrastercalcnode.h:57
QgsRasterCalcNode::opLOG10
Definition:
qgsrastercalcnode.h:65
QgsRasterCalcNode::opOR
Definition:
qgsrastercalcnode.h:62
QString
QgsRasterCalcNode::opSIN
Definition:
qgsrastercalcnode.h:49
QgsRasterCalcNode::opSQRT
Definition:
qgsrastercalcnode.h:48
QgsRasterMatrix
Definition:
qgsrastermatrix.h:21
QgsRasterCalcNode
Definition:
qgsrastercalcnode.h:28
QgsRasterCalcNode::opPOW
Definition:
qgsrastercalcnode.h:47
QgsRasterCalcNode::opEQ
Definition:
qgsrastercalcnode.h:55
QgsRasterCalcNode::opASIN
Definition:
qgsrastercalcnode.h:52
QgsRasterCalcNode::opTAN
Definition:
qgsrastercalcnode.h:51
QgsRasterCalcNode::opLE
Definition:
qgsrastercalcnode.h:60
QgsRasterCalcNode::opSIGN
Definition:
qgsrastercalcnode.h:63
QgsRasterCalcNode::setLeft
void setLeft(QgsRasterCalcNode *left)
Definition:
qgsrastercalcnode.h:79
QgsRasterCalcNode::setRight
void setRight(QgsRasterCalcNode *right)
Definition:
qgsrastercalcnode.h:80
QgsRasterCalcNode::opCOS
Definition:
qgsrastercalcnode.h:50
QgsRasterCalcNode::opACOS
Definition:
qgsrastercalcnode.h:53
QgsRasterCalcNode::type
Type type() const
Definition:
qgsrastercalcnode.h:76
QgsRasterCalcNode::opATAN
Definition:
qgsrastercalcnode.h:54
Generated on Sat Feb 27 2016 18:33:25 for QGIS API Documentation by
1.8.11