Branch data Line data Source code
1 : : /*************************************************************************** 2 : : TriangleInterpolator.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 TINTERPOLATOR_H 18 : : #define TINTERPOLATOR_H 19 : : 20 : : #include "Vector3D.h" 21 : : 22 : : #include "qgis_sip.h" 23 : : #include "qgis_analysis.h" 24 : : 25 : : class QgsPoint; 26 : : 27 : : #define SIP_NO_FILE 28 : : 29 : : /** 30 : : * \ingroup analysis 31 : : * \brief This is an interface for interpolator classes for triangulations. 32 : : * \note Not available in Python bindings. 33 : : */ 34 : 0 : class ANALYSIS_EXPORT TriangleInterpolator 35 : : { 36 : : public: 37 : 0 : virtual ~TriangleInterpolator() = default; 38 : : //! Calculates the normal vector and assigns it to vec 39 : : virtual bool calcNormVec( double x, double y, QgsPoint &result SIP_OUT ) = 0; 40 : : //! Performs a linear interpolation in a triangle and assigns the x-,y- and z-coordinates to point 41 : : virtual bool calcPoint( double x, double y, QgsPoint &result SIP_OUT ) = 0; 42 : : }; 43 : : 44 : : #endif 45 : : 46 : : 47 : : 48 : : 49 : : 50 : : 51 : : 52 : :