Quantum GIS API Documentation  1.7.4
Public Member Functions | Protected Member Functions | Protected Attributes
CloughTocherInterpolator Class Reference

This is an implementation of a Clough-Tocher interpolator based on a triangular tessellation. More...

#include <CloughTocherInterpolator.h>

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

List of all members.

Public Member Functions

 CloughTocherInterpolator ()
 standard constructor
 CloughTocherInterpolator (NormVecDecorator *tin)
 constructor with a pointer to the triangulation as argument
virtual ~CloughTocherInterpolator ()
 destructor
virtual bool calcNormVec (double x, double y, Vector3D *result)
 Calculates the normal vector and assigns it to vec (not implemented at the moment)
virtual bool calcPoint (double x, double y, Point3D *result)
 Performs a linear interpolation in a triangle and assigns the x-,y- and z-coordinates to point.
virtual void setTriangulation (NormVecDecorator *tin)

Protected Member Functions

void init (double x, double y)
 Finds out, in which triangle the point with the coordinates x and y is.
double calcBernsteinPoly (int n, int i, int j, int k, double u, double v, double w)
 Calculates the Bernsteinpolynomials to calculate the Beziertriangle.

Protected Attributes

NormVecDecoratormTIN
 association with a triangulation object
double mEdgeTolerance
 Tolerance of the barycentric coordinates at the borders of the triangles (to prevent errors because of very small negativ baricentric coordinates)
Point3D point1
 first point of the triangle in x-,y-,z-coordinates
Point3D point2
 second point of the triangle in x-,y-,z-coordinates
Point3D point3
 third point of the triangle in x-,y-,z-coordinates
Point3D cp1
Point3D cp2
Point3D cp3
Point3D cp4
Point3D cp5
Point3D cp6
Point3D cp7
Point3D cp8
Point3D cp9
Point3D cp10
Point3D cp11
Point3D cp12
Point3D cp13
Point3D cp14
Point3D cp15
Point3D cp16
double der1X
 derivative in x-direction at point1
double der1Y
 derivative in y-direction at point1
double der2X
 derivative in x-direction at point2
double der2Y
 derivative in y-direction at point2
double der3X
 derivative in x-direction at point3
double der3Y
 derivative in y-direction at point3
Point3D lpoint1
 stores point1 of the last run
Point3D lpoint2
 stores point2 of the last run
Point3D lpoint3
 stores point3 of the last run

Detailed Description

This is an implementation of a Clough-Tocher interpolator based on a triangular tessellation.

The derivatives orthogonal to the boundary curves are interpolated linearly along a triangle edge.

Definition at line 28 of file CloughTocherInterpolator.h.


Constructor & Destructor Documentation

standard constructor

Definition at line 95 of file CloughTocherInterpolator.h.

constructor with a pointer to the triangulation as argument

Definition at line 100 of file CloughTocherInterpolator.h.

destructor

Definition at line 105 of file CloughTocherInterpolator.h.


Member Function Documentation

double CloughTocherInterpolator::calcBernsteinPoly ( int  n,
int  i,
int  j,
int  k,
double  u,
double  v,
double  w 
) [protected]

Calculates the Bernsteinpolynomials to calculate the Beziertriangle.

'n' is three in the cubical case, 'i', 'j', 'k' are the indices of the controllpoint and 'u', 'v', 'w' are the barycentric coordinates of the point

virtual bool CloughTocherInterpolator::calcNormVec ( double  x,
double  y,
Vector3D result 
) [virtual]

Calculates the normal vector and assigns it to vec (not implemented at the moment)

Implements TriangleInterpolator.

virtual bool CloughTocherInterpolator::calcPoint ( double  x,
double  y,
Point3D result 
) [virtual]

Performs a linear interpolation in a triangle and assigns the x-,y- and z-coordinates to point.

Implements TriangleInterpolator.

void CloughTocherInterpolator::init ( double  x,
double  y 
) [protected]

Finds out, in which triangle the point with the coordinates x and y is.

Definition at line 110 of file CloughTocherInterpolator.h.

References mTIN.

Referenced by QgsTINInterpolator::initialize().


Member Data Documentation

Definition at line 41 of file CloughTocherInterpolator.h.

Definition at line 50 of file CloughTocherInterpolator.h.

Definition at line 51 of file CloughTocherInterpolator.h.

Definition at line 52 of file CloughTocherInterpolator.h.

Definition at line 53 of file CloughTocherInterpolator.h.

Definition at line 54 of file CloughTocherInterpolator.h.

Definition at line 55 of file CloughTocherInterpolator.h.

Definition at line 56 of file CloughTocherInterpolator.h.

Definition at line 42 of file CloughTocherInterpolator.h.

Definition at line 43 of file CloughTocherInterpolator.h.

Definition at line 44 of file CloughTocherInterpolator.h.

Definition at line 45 of file CloughTocherInterpolator.h.

Definition at line 46 of file CloughTocherInterpolator.h.

Definition at line 47 of file CloughTocherInterpolator.h.

Definition at line 48 of file CloughTocherInterpolator.h.

Definition at line 49 of file CloughTocherInterpolator.h.

double CloughTocherInterpolator::der1X [protected]

derivative in x-direction at point1

Definition at line 58 of file CloughTocherInterpolator.h.

double CloughTocherInterpolator::der1Y [protected]

derivative in y-direction at point1

Definition at line 60 of file CloughTocherInterpolator.h.

double CloughTocherInterpolator::der2X [protected]

derivative in x-direction at point2

Definition at line 62 of file CloughTocherInterpolator.h.

double CloughTocherInterpolator::der2Y [protected]

derivative in y-direction at point2

Definition at line 64 of file CloughTocherInterpolator.h.

double CloughTocherInterpolator::der3X [protected]

derivative in x-direction at point3

Definition at line 66 of file CloughTocherInterpolator.h.

double CloughTocherInterpolator::der3Y [protected]

derivative in y-direction at point3

Definition at line 68 of file CloughTocherInterpolator.h.

stores point1 of the last run

Definition at line 70 of file CloughTocherInterpolator.h.

stores point2 of the last run

Definition at line 72 of file CloughTocherInterpolator.h.

stores point3 of the last run

Definition at line 74 of file CloughTocherInterpolator.h.

Tolerance of the barycentric coordinates at the borders of the triangles (to prevent errors because of very small negativ baricentric coordinates)

Definition at line 34 of file CloughTocherInterpolator.h.

association with a triangulation object

Definition at line 32 of file CloughTocherInterpolator.h.

Referenced by setTriangulation().

first point of the triangle in x-,y-,z-coordinates

Definition at line 36 of file CloughTocherInterpolator.h.

second point of the triangle in x-,y-,z-coordinates

Definition at line 38 of file CloughTocherInterpolator.h.

third point of the triangle in x-,y-,z-coordinates

Definition at line 40 of file CloughTocherInterpolator.h.


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