QGIS API Documentation
2.10.1-Pisa
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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
108
109
#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 Aug 22 2015 02:53:37 for QGIS API Documentation by
1.8.6