QGIS API Documentation
2.2.0-Valmiera
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
CloughTocherInterpolator.h
Go to the documentation of this file.
1
/***************************************************************************
2
CloughTocherInterpolator.h - description
3
-------------------
4
copyright : (C) 2004 by Marco Hugentobler
5
email :
[email protected]
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 "
NormVecDecorator.h
"
21
#include "
TriangleInterpolator.h
"
22
#include "
Point3D.h
"
23
#include "
Vector3D.h
"
24
#include "
MathUtils.h
"
25
#include "
Bezier3D.h
"
26
28
class
ANALYSIS_EXPORT
CloughTocherInterpolator
:
public
TriangleInterpolator
29
{
30
protected
:
32
NormVecDecorator
*
mTIN
;
34
double
mEdgeTolerance
;
36
Point3D
point1
;
38
Point3D
point2
;
40
Point3D
point3
;
41
Point3D
cp1
;
42
Point3D
cp2
;
43
Point3D
cp3
;
44
Point3D
cp4
;
45
Point3D
cp5
;
46
Point3D
cp6
;
47
Point3D
cp7
;
48
Point3D
cp8
;
49
Point3D
cp9
;
50
Point3D
cp10
;
51
Point3D
cp11
;
52
Point3D
cp12
;
53
Point3D
cp13
;
54
Point3D
cp14
;
55
Point3D
cp15
;
56
Point3D
cp16
;
58
double
der1X
;
60
double
der1Y
;
62
double
der2X
;
64
double
der2Y
;
66
double
der3X
;
68
double
der3Y
;
70
Point3D
lpoint1
;
72
Point3D
lpoint2
;
74
Point3D
lpoint3
;
76
void
init(
double
x,
double
y );
78
double
calcBernsteinPoly
(
int
n,
int
i,
int
j,
int
k,
double
u,
double
v,
double
w );
79
80
public
:
82
CloughTocherInterpolator
();
84
CloughTocherInterpolator
(
NormVecDecorator
* tin );
86
virtual
~
CloughTocherInterpolator
();
88
virtual
bool
calcNormVec
(
double
x,
double
y,
Vector3D
* result );
90
virtual
bool
calcPoint
(
double
x,
double
y,
Point3D
* result );
91
virtual
void
setTriangulation(
NormVecDecorator
* tin );
92
};
93
94
95
inline
CloughTocherInterpolator::CloughTocherInterpolator
() : mTIN( 0 ), mEdgeTolerance( 0.00001 )
96
{
97
98
}
99
100
inline
CloughTocherInterpolator::CloughTocherInterpolator
(
NormVecDecorator
* tin ) : mTIN( tin ), mEdgeTolerance( 0.00001 )
101
{
102
103
}
104
105
inline
CloughTocherInterpolator::~CloughTocherInterpolator
()
106
{
107
//nothing to do
108
}
109
110
inline
void
CloughTocherInterpolator::setTriangulation
(
NormVecDecorator
* tin )
111
{
112
mTIN
= tin;
113
}
114
115
#endif
116
117
118
Generated on Sun Feb 23 2014 14:27:18 for QGIS API Documentation by
1.8.1.2