QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
LinTriangleInterpolator.h
Go to the documentation of this file.
1/***************************************************************************
2 LinTriangleInterpolator.h - description
3 -------------------
4 copyright : (C) 2004 by Marco Hugentobler
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
22#include "qgis_analysis.h"
23
24#define SIP_NO_FILE
25
31class ANALYSIS_EXPORT LinTriangleInterpolator : public TriangleInterpolator
32{
33 public:
39 bool calcNormVec( double x, double y, QgsPoint &result SIP_OUT ) override;
40 bool calcPoint( double x, double y, QgsPoint &result SIP_OUT ) override;
42 virtual QgsDualEdgeTriangulation *getTriangulation() const;
44 virtual void setTriangulation( QgsDualEdgeTriangulation *tin );
45
46
47 protected:
48 QgsDualEdgeTriangulation *mTIN = nullptr;
50 virtual bool calcFirstDerX( double x, double y, Vector3D *result SIP_OUT );
52 virtual bool calcFirstDerY( double x, double y, Vector3D *result SIP_OUT );
53};
54
55#ifndef SIP_RUN
56
58{
59
60}
61
63{
64 return mTIN;
65}
66
68{
69 mTIN = tin;
70}
71
72#endif
73#endif
74
75
76
77
78
79
80
LinTriangleInterpolator is a class which interpolates linearly on a triangulation.
LinTriangleInterpolator()=default
Default constructor.
QgsDualEdgeTriangulation * mTIN
virtual void setTriangulation(QgsDualEdgeTriangulation *tin)
Sets a Triangulation.
virtual QgsDualEdgeTriangulation * 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...
Point geometry type, with support for z-dimension and m-values.
Definition: qgspoint.h:49
This is an interface for interpolator classes for triangulations.
virtual bool calcNormVec(double x, double y, QgsPoint &result)=0
Calculates the normal vector and assigns it to vec.
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.
Class Vector3D represents a 3D-Vector, capable to store x-,y- and z-coordinates in double values.
Definition: Vector3D.h:36
#define SIP_OUT
Definition: qgis_sip.h:58