QGIS API Documentation
4.3.0-Master (52aa6503bed)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
analysis
interpolation
CloughTocherInterpolator.h
Go to the documentation of this file.
1
/***************************************************************************
2
CloughTocherInterpolator.h - description
3
-------------------
4
copyright : (C) 2004 by Marco Hugentobler
5
email : mhugent@geo.unizh.ch
6
***************************************************************************/
7
8
/***************************************************************************
9
* *
10
* This program is free software; you can redistribute it and/or modify *
11
* it under the terms of the GNU General Public License as published by *
12
* the Free Software Foundation; either version 2 of the License, or *
13
* (at your option) any later version. *
14
* *
15
***************************************************************************/
16
17
#ifndef CLOUGHTOCHERINTERPOLATOR_H
18
#define CLOUGHTOCHERINTERPOLATOR_H
19
20
#include "
TriangleInterpolator.h
"
21
#include "qgis_analysis.h"
22
#include "
qgspoint.h
"
23
24
#define SIP_NO_FILE
25
26
class
NormVecDecorator
;
27
28
36
class
ANALYSIS_EXPORT
CloughTocherInterpolator
:
public
TriangleInterpolator
37
{
38
protected
:
40
NormVecDecorator
*
mTIN
=
nullptr
;
42
double
mEdgeTolerance
= 0.00001;
44
QgsPoint
point1
=
QgsPoint
( 0, 0, 0 );
46
QgsPoint
point2
=
QgsPoint
( 0, 0, 0 );
48
QgsPoint
point3
=
QgsPoint
( 0, 0, 0 );
50
QgsPoint
cp1
=
QgsPoint
( 0, 0, 0 );
52
QgsPoint
cp2
=
QgsPoint
( 0, 0, 0 );
54
QgsPoint
cp3
=
QgsPoint
( 0, 0, 0 );
56
QgsPoint
cp4
=
QgsPoint
( 0, 0, 0 );
58
QgsPoint
cp5
=
QgsPoint
( 0, 0, 0 );
60
QgsPoint
cp6
=
QgsPoint
( 0, 0, 0 );
62
QgsPoint
cp7
=
QgsPoint
( 0, 0, 0 );
64
QgsPoint
cp8
=
QgsPoint
( 0, 0, 0 );
66
QgsPoint
cp9
=
QgsPoint
( 0, 0, 0 );
68
QgsPoint
cp10
=
QgsPoint
( 0, 0, 0 );
70
QgsPoint
cp11
=
QgsPoint
( 0, 0, 0 );
72
QgsPoint
cp12
=
QgsPoint
( 0, 0, 0 );
74
QgsPoint
cp13
=
QgsPoint
( 0, 0, 0 );
76
QgsPoint
cp14
=
QgsPoint
( 0, 0, 0 );
78
QgsPoint
cp15
=
QgsPoint
( 0, 0, 0 );
80
QgsPoint
cp16
=
QgsPoint
( 0, 0, 0 );
82
double
der1X
= 0.0;
84
double
der1Y
= 0.0;
86
double
der2X
= 0.0;
88
double
der2Y
= 0.0;
90
double
der3X
= 0.0;
92
double
der3Y
= 0.0;
94
QgsPoint
lpoint1
=
QgsPoint
( 0, 0, 0 );
96
QgsPoint
lpoint2
=
QgsPoint
( 0, 0, 0 );
98
QgsPoint
lpoint3
=
QgsPoint
( 0, 0, 0 );
100
void
init
(
double
x,
double
y );
102
double
calcBernsteinPoly
(
int
n,
int
i,
int
j,
int
k,
double
u,
double
v,
double
w );
103
104
public
:
105
CloughTocherInterpolator
() =
default
;
106
108
CloughTocherInterpolator
(
NormVecDecorator
*tin );
109
111
bool
calcNormVec
(
double
x,
double
y,
QgsPoint
&result
SIP_OUT
)
override
;
112
bool
calcPoint
(
double
x,
double
y,
QgsPoint
&result
SIP_OUT
)
override
;
113
virtual
void
setTriangulation
(
NormVecDecorator
*tin );
114
};
115
116
#endif
TriangleInterpolator.h
CloughTocherInterpolator::der2X
double der2X
Derivative in x-direction at point2.
Definition
CloughTocherInterpolator.h:86
CloughTocherInterpolator::setTriangulation
virtual void setTriangulation(NormVecDecorator *tin)
Definition
CloughTocherInterpolator.cpp:31
CloughTocherInterpolator::cp8
QgsPoint cp8
Control point 8.
Definition
CloughTocherInterpolator.h:64
CloughTocherInterpolator::cp1
QgsPoint cp1
Control point 1.
Definition
CloughTocherInterpolator.h:50
CloughTocherInterpolator::der3X
double der3X
Derivative in x-direction at point3.
Definition
CloughTocherInterpolator.h:90
CloughTocherInterpolator::cp2
QgsPoint cp2
Control point 2.
Definition
CloughTocherInterpolator.h:52
CloughTocherInterpolator::cp14
QgsPoint cp14
Control point 14.
Definition
CloughTocherInterpolator.h:76
CloughTocherInterpolator::cp13
QgsPoint cp13
Control point 13.
Definition
CloughTocherInterpolator.h:74
CloughTocherInterpolator::cp9
QgsPoint cp9
Control point 9.
Definition
CloughTocherInterpolator.h:66
CloughTocherInterpolator::point3
QgsPoint point3
Third point of the triangle in x-,y-,z-coordinates.
Definition
CloughTocherInterpolator.h:48
CloughTocherInterpolator::der2Y
double der2Y
Derivative in y-direction at point2.
Definition
CloughTocherInterpolator.h:88
CloughTocherInterpolator::mTIN
NormVecDecorator * mTIN
Association with a triangulation object.
Definition
CloughTocherInterpolator.h:40
CloughTocherInterpolator::cp10
QgsPoint cp10
Control point 10.
Definition
CloughTocherInterpolator.h:68
CloughTocherInterpolator::der1X
double der1X
Derivative in x-direction at point1.
Definition
CloughTocherInterpolator.h:82
CloughTocherInterpolator::mEdgeTolerance
double mEdgeTolerance
Tolerance of the barycentric coordinates at the borders of the triangles (to prevent errors because o...
Definition
CloughTocherInterpolator.h:42
CloughTocherInterpolator::lpoint1
QgsPoint lpoint1
Stores point1 of the last run.
Definition
CloughTocherInterpolator.h:94
CloughTocherInterpolator::cp5
QgsPoint cp5
Control point 5.
Definition
CloughTocherInterpolator.h:58
CloughTocherInterpolator::cp4
QgsPoint cp4
Control point 4.
Definition
CloughTocherInterpolator.h:56
CloughTocherInterpolator::cp3
QgsPoint cp3
Control point 3.
Definition
CloughTocherInterpolator.h:54
CloughTocherInterpolator::lpoint2
QgsPoint lpoint2
Stores point2 of the last run.
Definition
CloughTocherInterpolator.h:96
CloughTocherInterpolator::cp7
QgsPoint cp7
Control point 7.
Definition
CloughTocherInterpolator.h:62
CloughTocherInterpolator::calcBernsteinPoly
double calcBernsteinPoly(int n, int i, int j, int k, double u, double v, double w)
Calculates the Bernsteinpolynomials to calculate the Beziertriangle. 'n' is three in the cubical case...
Definition
CloughTocherInterpolator.cpp:36
CloughTocherInterpolator::point2
QgsPoint point2
Second point of the triangle in x-,y-,z-coordinates.
Definition
CloughTocherInterpolator.h:46
CloughTocherInterpolator::der3Y
double der3Y
Derivative in y-direction at point3.
Definition
CloughTocherInterpolator.h:92
CloughTocherInterpolator::cp12
QgsPoint cp12
Control point 12.
Definition
CloughTocherInterpolator.h:72
CloughTocherInterpolator::cp16
QgsPoint cp16
Control point 16.
Definition
CloughTocherInterpolator.h:80
CloughTocherInterpolator::init
void init(double x, double y)
Finds out, in which triangle the point with the coordinates x and y is.
Definition
CloughTocherInterpolator.cpp:306
CloughTocherInterpolator::cp6
QgsPoint cp6
Control point 6.
Definition
CloughTocherInterpolator.h:60
CloughTocherInterpolator::cp15
QgsPoint cp15
Control point 15.
Definition
CloughTocherInterpolator.h:78
CloughTocherInterpolator::CloughTocherInterpolator
CloughTocherInterpolator()=default
CloughTocherInterpolator::lpoint3
QgsPoint lpoint3
Stores point3 of the last run.
Definition
CloughTocherInterpolator.h:98
CloughTocherInterpolator::point1
QgsPoint point1
First point of the triangle in x-,y-,z-coordinates.
Definition
CloughTocherInterpolator.h:44
CloughTocherInterpolator::der1Y
double der1Y
Derivative in y-direction at point1.
Definition
CloughTocherInterpolator.h:84
CloughTocherInterpolator::cp11
QgsPoint cp11
Control point 11.
Definition
CloughTocherInterpolator.h:70
NormVecDecorator
Decorator class which adds the functionality of estimating normals at the data points.
Definition
NormVecDecorator.h:42
QgsPoint
Point geometry type, with support for z-dimension and m-values.
Definition
qgspoint.h:53
TriangleInterpolator
An interface for interpolator classes for triangulations.
Definition
TriangleInterpolator.h:35
TriangleInterpolator::calcNormVec
virtual bool calcNormVec(double x, double y, QgsPoint &result)=0
Calculates the normal vector and assigns it to vec.
TriangleInterpolator::calcPoint
virtual bool calcPoint(double x, double y, QgsPoint &result)=0
Performs a linear interpolation in a triangle and assigns the x-,y- and z-coordinates to point.
SIP_OUT
#define SIP_OUT
Definition
qgis_sip.h:57
qgspoint.h
Generated on
for QGIS API Documentation by
1.17.0