GeoTessCPP
2.1
Software to facilitate storage and retrieval of 3D information about the Earth.
|
#include <GeoTessPositionNaturalNeighbor.h>
Public Member Functions | |
GeoTessPositionNaturalNeighbor (GeoTessModel *model, const GeoTessInterpolatorType &radialType) | |
virtual | ~GeoTessPositionNaturalNeighbor () |
virtual const GeoTessInterpolatorType & | getInterpolatorType () const |
![]() | |
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 GeoTessPosition * | getGeoTessPosition (GeoTessModel *model) |
static GeoTessPosition * | getGeoTessPosition (GeoTessModel *model, const GeoTessInterpolatorType &horizontalType) |
static GeoTessPosition * | getGeoTessPosition (GeoTessModel *model, const GeoTessInterpolatorType &horizontalType, const GeoTessInterpolatorType &radialType) |
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.
geotess::GeoTessPositionNaturalNeighbor::GeoTessPositionNaturalNeighbor | ( | GeoTessModel * | model, |
const GeoTessInterpolatorType & | radialType | ||
) |
Standard Constructor.
|
virtual |
Destructor.
|
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.
|
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.