Quantum GIS API Documentation  1.7.4
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  *
00011  *   it under the terms of the GNU General Public License as published by  *
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 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines