Quantum GIS API Documentation  1.8
src/analysis/interpolation/LinTriangleInterpolator.h
Go to the documentation of this file.
```00001 /***************************************************************************
00002                           LinTriangleInterpolator.h  -  description
00003                              -------------------
00004     copyright            : (C) 2004 by Marco Hugentobler
00005     email                : mhugent@geo.unizh.ch
00006  ***************************************************************************/
00007
00008 /***************************************************************************
00009  *                                                                         *
00010  *   This program is free software; you can redistribute it and/or modify  *
00012  *   the Free Software Foundation; either version 2 of the License, or     *
00013  *   (at your option) any later version.                                   *
00014  *                                                                         *
00015  ***************************************************************************/
00016
00017 #ifndef LINTRIANGLEINTERPOLATOR_H
00018 #define LINTRIANGLEINTERPOLATOR_H
00019
00020 #include "TriangleInterpolator.h"
00021 #include "DualEdgeTriangulation.h"
00022
00024 class ANALYSIS_EXPORT LinTriangleInterpolator : public TriangleInterpolator
00025 {
00026   public:
00028     LinTriangleInterpolator();
00030     LinTriangleInterpolator( DualEdgeTriangulation* tin );
00032     virtual ~LinTriangleInterpolator();
00034     virtual bool calcNormVec( double x, double y, Vector3D* result );
00036     virtual bool calcPoint( double x, double y, Point3D* result );
00038     virtual DualEdgeTriangulation* getTriangulation() const;
00040     virtual void setTriangulation( DualEdgeTriangulation* tin );
00041
00042
00043   protected:
00044     DualEdgeTriangulation* mTIN;
00046     virtual bool calcFirstDerX( double x, double y, Vector3D* result );
00048     virtual bool calcFirstDerY( double x, double y, Vector3D* result );
00049 };
00050
00051 inline LinTriangleInterpolator::LinTriangleInterpolator()
00052 {
00053
00054 }
00055
00056 inline LinTriangleInterpolator::LinTriangleInterpolator( DualEdgeTriangulation* tin ): mTIN( tin )
00057 {
00058
00059 }
00060
00061 inline LinTriangleInterpolator::~LinTriangleInterpolator()
00062 {
00063
00064 }
00065
00066 inline DualEdgeTriangulation* LinTriangleInterpolator::getTriangulation() const
00067 {
00068   return mTIN;
00069 }
00070
00071 inline void LinTriangleInterpolator::setTriangulation( DualEdgeTriangulation* tin )
00072 {
00073   mTIN = tin;
00074 }
00075
00076 #endif
00077
00078
00079
00080
00081
00082
00083
```