QGIS API Documentation  2.3.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
LinTriangleInterpolator.h
Go to the documentation of this file.
1 /***************************************************************************
2  LinTriangleInterpolator.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 LINTRIANGLEINTERPOLATOR_H
18 #define LINTRIANGLEINTERPOLATOR_H
19 
20 #include "TriangleInterpolator.h"
21 #include "DualEdgeTriangulation.h"
22 
24 class ANALYSIS_EXPORT LinTriangleInterpolator : public TriangleInterpolator
25 {
26  public:
32  virtual ~LinTriangleInterpolator();
34  virtual bool calcNormVec( double x, double y, Vector3D* result );
36  virtual bool calcPoint( double x, double y, Point3D* result );
38  virtual DualEdgeTriangulation* getTriangulation() const;
40  virtual void setTriangulation( DualEdgeTriangulation* tin );
41 
42 
43  protected:
46  virtual bool calcFirstDerX( double x, double y, Vector3D* result );
48  virtual bool calcFirstDerY( double x, double y, Vector3D* result );
49 };
50 
52 {
53 
54 }
55 
57 {
58 
59 }
60 
62 {
63 
64 }
65 
67 {
68  return mTIN;
69 }
70 
72 {
73  mTIN = tin;
74 }
75 
76 #endif
77 
78 
79 
80 
81 
82 
83 
LinTriangleInterpolator is a class which interpolates linearly on a triangulation.
virtual DualEdgeTriangulation * getTriangulation() const
Returns a pointer to the current Triangulation object.
DualEdgeTriangulation is an implementation of a triangulation class based on the dual edge data struc...
DualEdgeTriangulation * mTIN
Point3D is a class to represent a three dimensional point.
Definition: Point3D.h:23
Class Vector3D represents a 3D-Vector, capable to store x-,y- and z-coordinates in double values...
Definition: Vector3D.h:22
This is an interface for interpolator classes for triangulations.
virtual void setTriangulation(DualEdgeTriangulation *tin)
Sets a Triangulation.
virtual ~LinTriangleInterpolator()
Destructor.
LinTriangleInterpolator()
Default constructor.
virtual bool calcNormVec(double x, double y, Vector3D *result)=0
Calculates the normal vector and assigns it to vec.
virtual bool calcPoint(double x, double y, Point3D *result)=0
Performs a linear interpolation in a triangle and assigns the x-,y- and z-coordinates to point...