mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-24 00:47:57 -05:00
- update methods of existing classes - add comment to methods missing in the sip bindings - split up collective sip files into single files and use same directory structure in python/ as in src/ - add a lot of missing classes (some might not make sense because of missing python methods in those classes) - remove some non-existing methods from the header files - add scripts/sipdiff - replace some usages of std::vector and std::set with QVector/QSet
45 lines
1.3 KiB
Plaintext
45 lines
1.3 KiB
Plaintext
/**Interface class for interpolations. Interpolators take
|
|
the vertices of a vector layer as base data. The z-Value
|
|
can be an attribute or the z-coordinates in case of 25D types*/
|
|
class QgsInterpolator
|
|
{
|
|
%TypeHeaderCode
|
|
#include "qgsinterpolator.h"
|
|
%End
|
|
|
|
public:
|
|
/**Describes the type of input data*/
|
|
enum InputType
|
|
{
|
|
POINTS,
|
|
STRUCTURE_LINES,
|
|
BREAK_LINES
|
|
};
|
|
|
|
/**A layer together with the information about interpolation attribute / z-coordinate interpolation and the type (point, structure line, breakline)*/
|
|
struct LayerData
|
|
{
|
|
QgsVectorLayer* vectorLayer;
|
|
bool zCoordInterpolation;
|
|
int interpolationAttribute;
|
|
int mInputType;
|
|
};
|
|
|
|
QgsInterpolator( const QList<QgsInterpolator::LayerData>& layerData );
|
|
|
|
virtual ~QgsInterpolator();
|
|
|
|
/**Calculates interpolation value for map coordinates x, y
|
|
@param x x-coordinate (in map units)
|
|
@param y y-coordinate (in map units)
|
|
@param result out: interpolation result
|
|
@return 0 in case of success*/
|
|
virtual int interpolatePoint( double x, double y, double& result ) = 0;
|
|
|
|
protected:
|
|
/**Caches the vertex and value data from the provider. All the vertex data
|
|
will be held in virtual memory
|
|
@return 0 in case of success*/
|
|
int cacheBaseData();
|
|
};
|