Quantum GIS API Documentation  1.7.4
Public Types | Public Member Functions | Private Member Functions | Private Attributes
QgsTINInterpolator Class Reference

Interpolation in a triangular irregular network. More...

#include <qgstininterpolator.h>

Inheritance diagram for QgsTINInterpolator:
Inheritance graph
[legend]
Collaboration diagram for QgsTINInterpolator:
Collaboration graph
[legend]

List of all members.

Public Types

enum  TIN_INTERPOLATION { Linear, CloughTocher }

Public Member Functions

 QgsTINInterpolator (const QList< LayerData > &inputData, TIN_INTERPOLATION interpolation=Linear, bool showProgressDialog=false)
 ~QgsTINInterpolator ()
int interpolatePoint (double x, double y, double &result)
 Calculates interpolation value for map coordinates x, y.
void setExportTriangulationToFile (bool e)
void setTriangulationFilePath (const QString &filepath)

Private Member Functions

void initialize ()
 Create dual edge triangulation.
int insertData (QgsFeature *f, bool zCoord, int attr, InputType type)
 Inserts the vertices of a feature into the triangulation.

Private Attributes

TriangulationmTriangulation
TriangleInterpolatormTriangleInterpolator
bool mIsInitialized
bool mShowProgressDialog
bool mExportTriangulationToFile
 If true: export triangulation to shapefile after initialisation.
QString mTriangulationFilePath
 File path to export the triangulation.
TIN_INTERPOLATION mInterpolation
 Type of interpolation.

Detailed Description

Interpolation in a triangular irregular network.

Definition at line 29 of file qgstininterpolator.h.


Member Enumeration Documentation

Enumerator:
Linear 
CloughTocher 

Definition at line 33 of file qgstininterpolator.h.


Constructor & Destructor Documentation

QgsTINInterpolator::QgsTINInterpolator ( const QList< LayerData > &  inputData,
TIN_INTERPOLATION  interpolation = Linear,
bool  showProgressDialog = false 
)

Definition at line 30 of file qgstininterpolator.cpp.

Definition at line 41 of file qgstininterpolator.cpp.

References mTriangleInterpolator, and mTriangulation.


Member Function Documentation

void QgsTINInterpolator::initialize ( ) [private]
int QgsTINInterpolator::insertData ( QgsFeature f,
bool  zCoord,
int  attr,
InputType  type 
) [private]

Inserts the vertices of a feature into the triangulation.

Parameters:
fthe feature
zCoordtrue if the z coordinate is the interpolation attribute
attrinterpolation attribute index (if zCoord is false)
typepoint/structure line, break line
Returns:
0 in case of success, -1 if the feature could not be inserted because of numerical problems

Definition at line 167 of file qgstininterpolator.cpp.

References Triangulation::addLine(), Triangulation::addPoint(), QgsGeometry::asWkb(), QgsFeature::attributeMap(), QgsInterpolator::BREAK_LINES, QgsFeature::geometry(), Line3D::insertPoint(), mTriangulation, QgsInterpolator::POINTS, QGis::WKBLineString, QGis::WKBLineString25D, QGis::WKBMultiLineString, QGis::WKBMultiLineString25D, QGis::WKBMultiPoint, QGis::WKBMultiPoint25D, QGis::WKBMultiPolygon, QGis::WKBMultiPolygon25D, QGis::WKBPoint, QGis::WKBPoint25D, QGis::WKBPolygon, QGis::WKBPolygon25D, and QgsGeometry::wkbType().

Referenced by initialize().

int QgsTINInterpolator::interpolatePoint ( double  x,
double  y,
double &  result 
) [virtual]

Calculates interpolation value for map coordinates x, y.

Parameters:
xx-coordinate (in map units)
yy-coordinate (in map units)
resultout: interpolation result
Returns:
0 in case of success

Implements QgsInterpolator.

Definition at line 47 of file qgstininterpolator.cpp.

References TriangleInterpolator::calcPoint(), Point3D::getZ(), initialize(), mIsInitialized, and mTriangleInterpolator.

Definition at line 48 of file qgstininterpolator.h.

void QgsTINInterpolator::setTriangulationFilePath ( const QString &  filepath) [inline]

Definition at line 49 of file qgstininterpolator.h.


Member Data Documentation

If true: export triangulation to shapefile after initialisation.

Definition at line 57 of file qgstininterpolator.h.

Referenced by initialize().

Type of interpolation.

Definition at line 61 of file qgstininterpolator.h.

Referenced by initialize().

Definition at line 54 of file qgstininterpolator.h.

Referenced by initialize(), and interpolatePoint().

Definition at line 55 of file qgstininterpolator.h.

Referenced by initialize().

Definition at line 53 of file qgstininterpolator.h.

Referenced by initialize(), interpolatePoint(), and ~QgsTINInterpolator().

Definition at line 52 of file qgstininterpolator.h.

Referenced by initialize(), insertData(), and ~QgsTINInterpolator().

File path to export the triangulation.

Definition at line 59 of file qgstininterpolator.h.

Referenced by initialize().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines