QGIS API Documentation
2.8.2-Wien
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
interpolation
qgsinterpolator.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsinterpolator.h
3
------------------------
4
begin : March 10, 2008
5
copyright : (C) 2008 by Marco Hugentobler
6
email : marco dot hugentobler at karto dot baug dot ethz 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 QGSINTERPOLATOR_H
19
#define QGSINTERPOLATOR_H
20
21
#include <QVector>
22
23
class
QgsVectorLayer
;
24
class
QgsGeometry
;
25
26
struct
ANALYSIS_EXPORT
vertexData
27
{
28
double
x
;
29
double
y
;
30
double
z
;
31
};
32
36
class
ANALYSIS_EXPORT
QgsInterpolator
37
{
38
public
:
40
enum
InputType
41
{
42
POINTS
,
43
STRUCTURE_LINES
,
44
BREAK_LINES
45
};
46
48
struct
LayerData
49
{
50
QgsVectorLayer
*
vectorLayer
;
51
bool
zCoordInterpolation
;
52
int
interpolationAttribute
;
53
InputType
mInputType
;
54
};
55
56
QgsInterpolator
(
const
QList<LayerData>& layerData );
57
58
virtual
~
QgsInterpolator
();
59
65
virtual
int
interpolatePoint(
double
x,
double
y,
double
& result ) = 0;
66
67
// @note not available in python bindings
68
const
QList<LayerData>&
layerData
()
const
{
return
mLayerData; }
69
70
protected
:
74
int
cacheBaseData();
75
76
QVector<vertexData>
mCachedBaseData
;
77
79
bool
mDataIsCached
;
80
81
//Information about the input vector layers and the attributes (or z-values) that are used for interpolation
82
QList<LayerData>
mLayerData
;
83
84
private
:
85
QgsInterpolator
();
//forbidden
91
int
addVerticesToCache(
QgsGeometry
* geom,
bool
zCoord,
double
attributeValue );
92
};
93
94
#endif
Generated on Sun May 10 2015 16:33:23 for QGIS API Documentation by
1.8.1.2