QGIS API Documentation 3.41.0-Master (af5edcb665c)
Loading...
Searching...
No Matches
qgstininterpolator.h
Go to the documentation of this file.
1/***************************************************************************
2 qgstininterpolator.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 QGSTININTERPOLATOR_H
19#define QGSTININTERPOLATOR_H
20
21#include "qgsinterpolator.h"
22#include <QString>
23#include "qgis_analysis.h"
24
25class QgsFeatureSink;
28class QgsFeature;
29class QgsFeedback;
30class QgsFields;
31
36class ANALYSIS_EXPORT QgsTinInterpolator : public QgsInterpolator
37{
38 public:
45
51 QgsTinInterpolator( const QList<QgsInterpolator::LayerData> &inputData, TinInterpolation interpolation = Linear, QgsFeedback *feedback = nullptr );
52 ~QgsTinInterpolator() override;
53
54 int interpolatePoint( double x, double y, double &result SIP_OUT, QgsFeedback *feedback ) override;
55
62 static QgsFields triangulationFields();
63
72 void setTriangulationSink( QgsFeatureSink *sink );
73
74 private:
75 QgsTriangulation *mTriangulation = nullptr;
76 TriangleInterpolator *mTriangleInterpolator = nullptr;
77 bool mIsInitialized;
78 QgsFeedback *mFeedback = nullptr;
79
81 QgsFeatureSink *mTriangulationSink = nullptr;
83 TinInterpolation mInterpolation;
84
86 void initialize();
87
96 int insertData( const QgsFeature &f, QgsInterpolator::ValueSource source, int attr, SourceType type );
97
98 int addPointsFromGeometry( const QgsGeometry &g, ValueSource source, double attributeValue );
99};
100
101#endif
An interface for objects which accept features via addFeature(s) methods.
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition qgsfeature.h:58
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Definition qgsfeedback.h:44
Container of fields for a vector layer.
Definition qgsfields.h:46
A geometry is the spatial representation of a feature.
Interface class for interpolations.
virtual int interpolatePoint(double x, double y, double &result, QgsFeedback *feedback=nullptr)=0
Calculates interpolation value for map coordinates x, y.
ValueSource
Source for interpolated values from features.
Interpolation in a triangular irregular network.
TinInterpolation
Indicates the type of interpolation to be performed.
@ Linear
Linear interpolation.
@ CloughTocher
Clough-Tocher interpolation.
Interface for Triangulation classes.
This is an interface for interpolator classes for triangulations.
#define SIP_OUT
Definition qgis_sip.h:58