GeoTessCPP: geotess::GeoTessPositionNaturalNeighbor Class Reference

GeoTessCPP 2.1 Software to facilitate storage and retrieval of 3D information about the Earth.

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Friends Macros
Public Member Functions | Protected Member Functions
geotess::GeoTessPositionNaturalNeighbor Class Reference

`#include <GeoTessPositionNaturalNeighbor.h>`

Inheritance diagram for geotess::GeoTessPositionNaturalNeighbor:

List of all members.

## Public Member Functions
| GeoTessPositionNaturalNeighbor (GeoTessModel *model, const GeoTessInterpolatorType &radialType)
virtual | ~GeoTessPositionNaturalNeighbor ()
virtual const GeoTessInterpolatorType & | getInterpolatorType () const
virtual long | getMemory ()
Public Member Functions inherited from geotess::GeoTessPosition
virtual | ~GeoTessPosition ()
void | addReference ()
void | copyVector (double *u)
const double * | getClosestVertex () const
void | getCoefficients (map< int, double > &coefficients)
double | getDepth ()
double | getDepthBottom ()
double | getDepthBottom (int layid)
double | getDepthTop ()
double | getDepthTop (int layid)
double | getEarthRadius ()
double | getErrorValue ()
double | getHorizontalCoefficient (int index) const
const vector< double > & | getHorizontalCoefficients () const
int | getIndexOfClosestVertex () const
int | getLayerId (double rad)
int | getLayerId ()
double | getLayerThickness (int layid)
double | getLayerThickness ()
int | getMaxTessLevel (int layid)
GeoTessModel * | getModel ()
int | getNVertices ()
double | getRadius ()
double | getRadiusBottom (int layid)
double | getRadiusBottom ()
double | getRadiusTop (int layid)
double | getRadiusTop ()
int | getReferenceCount ()
int | getTessID ()
int | getTessLevel () const
int | getTessLevel (const int &tId)
int | getTriangle ()
virtual double | getValue (int attribute)
double * | getVector ()
int | getVertex (int index)
int | getVertexIndex ()
const vector< int > & | getVertices () const
void | getWeights (map< int, double > &weights, double dkm)
bool | isNotReferenced ()
bool | isRadiusOutOfRangeAllowed ()
bool | noEmptyProfiles ()
void | removeReference ()
void | set (double lat, double lon, double depth)
void | set (const double *const uVector, const double &newRadius)
void | set (int layid, double lat, double lon, double depth)
void | set (int layid, const double *const uVector, double rad)
void | setBottom (int layid, const double *const uVector)
void | setBottom (int layid)
void | setDepth (int layer, double depth)
void | setDepth (double depth)
void | setErrorValue (double errVal)
void | setMaxTessLevel (int layid, int maxTess)
void | setModel (GeoTessModel *newModel)
void | setRadius (int layid, double rad)
void | setRadius (double rad)
void | setRadiusOutOfRangeAllowed (bool allowed)
void | setTop (int layid, const double *const uVector)
void | setTop (int layid)
string | toString ()

## Protected Member Functions
virtual void | update2D (int tid)

## Additional Inherited Members
Static Public Member Functions inherited from geotess::GeoTessPosition
static GeoTessPosition * | getGeoTessPosition (GeoTessModel *model)
static GeoTessPosition * | getGeoTessPosition (GeoTessModel *model, const GeoTessInterpolatorType &horizontalType)
static GeoTessPosition * | getGeoTessPosition (GeoTessModel *model, const GeoTessInterpolatorType &horizontalType, const GeoTessInterpolatorType &radialType)

## Detailed Description

Implements the Natural Neighbor Interpolation algorithm of Sibson (1980, 1981). This technique interpolates values stored on a Delaunay triangulation. Returned values are continuous everywhere and smooth everywhere except the vertices of the triangulation. Implementation of the algorithm is described in detail in Hipp et al. (1999).

Hipp, J. R., C. J. Young, S. G. Moore, E. R. Shepherd, C. A. Schultz and S. C. Myers (1999), Parametric Grid Information in the DOE Knowledge Base: Data Preparation, Storage, and Access, SAND99-2277, Sandia National Laboratories Report.

Sibson, R., (1980) A Vector Identity for the Dirichlet Tessellation, Proc. Cambridge Philosophical Society, 87, 151-155.

Sibson, R. (1981). "A brief description of natural neighbor interpolation (Chapter 2)". In V. Barnett. Interpreting Multivariate Data. Chichester: John Wiley. pp. 21�36.

Author:
  Sandy Ballard

## Constructor & Destructor Documentation

geotess::GeoTessPositionNaturalNeighbor::GeoTessPositionNaturalNeighbor | ( | GeoTessModel * | model,
|  | const GeoTessInterpolatorType & | radialType
| ) |  |

Standard Constructor.

virtual geotess::GeoTessPositionNaturalNeighbor::~GeoTessPositionNaturalNeighbor | ( |  | ) |
| virtual

Destructor.

## Member Function Documentation

virtual const GeoTessInterpolatorType& geotess::GeoTessPositionNaturalNeighbor::getInterpolatorType | ( |  | ) | const
| inlinevirtual

Retrieve the type of interpolation that this GeoTessPosition object is configured to perform. Either InterpolatorType.LINEAR or InterpolatorType.NATURAL_NEIGHBOR.

Reimplemented from geotess::GeoTessPosition.

virtual long geotess::GeoTessPositionNaturalNeighbor::getMemory | ( |  | ) |
| inlinevirtual

Retrieve the amount of memory consumed by this GeoTessPosition object.

Returns:
  memory in bytes.

Reimplemented from geotess::GeoTessPosition.

virtual void geotess::GeoTessPositionNaturalNeighbor::update2D | ( | int | tid | ) |
| protectedvirtual

Update the vertices and their associated interpolation coefficients, that will be used to interpolate new values. Uses the natural neighbor interpolation algorithm originally proposed by Sibson, R. (1980), A Vector Identity For Dirichlet Tessellation, Proc. Cambridge Philosophical Society, 87, 151-155. The algorithm is described in detail in Hipp, J. R., C. J. Young, S. G. Moore, E. R. Shepherd, C. A. Schultz and S. C. Myers (1999), Parametric Grid Information in the DOE Knowledge Base: Data Preparation, Storage, and Access, SAND99-2277, Sandia National Laboratories Report.

The documentation for this class was generated from the following file:

- include/GeoTessPositionNaturalNeighbor.h