GeoTessCPP
2.0.0
Software to facilitate storage and retrieval of 3D information about the Earth.
|
#include <GeoTessPositionNaturalNeighbor.h>
Public Member Functions | |
GeoTessPositionNaturalNeighbor (GeoTessModel *model, const InterpolatorType &radialType) | |
virtual | ~GeoTessPositionNaturalNeighbor () |
virtual const InterpolatorType & | getInterpolatorType () const |
![]() | |
virtual | ~GeoTessPosition () |
virtual double | getValue (int attribute) |
bool | setModel (GeoTessModel *newModel) |
bool | noEmptyProfiles () |
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 | setTop (int layid, const double *const uVector) |
void | setBottom (int layid, const double *const uVector) |
void | setRadius (int layid, double rad) |
void | setRadius (double rad) |
void | setDepth (int layer, double depth) |
void | setDepth (double depth) |
void | setTop (int layid) |
void | setBottom (int layid) |
double | getRadiusTop (int layid) |
double | getRadiusBottom (int layid) |
double | getEarthRadius () |
double * | getVector () |
void | copyVector (double *u) |
int | getTriangle () |
int | getNVertices () |
const vector< int > & | getVertices () const |
int | getIndexOfClosestVertex () const |
const double * | getClosestVertex () const |
int | getVertex (int index) |
void | getCoefficients (map< int, double > &coefficients) |
void | setMaxTessLevel (int layid, int maxTess) |
int | getMaxTessLevel (int layid) |
int | getTessLevel () const |
int | getTessLevel (const int &tId) |
double | getRadiusTop () |
double | getRadiusBottom () |
double | getDepthTop () |
double | getDepthBottom () |
double | getDepthTop (int layid) |
double | getDepthBottom (int layid) |
double | getLayerThickness (int layid) |
double | getLayerThickness () |
double | getRadius () |
double | getDepth () |
GeoTessModel * | getModel () |
int | getTessID () |
int | getLayerId (double rad) |
int | getLayerId () |
string | toString () |
double | getErrorValue () |
void | setErrorValue (double errVal) |
int | getVertexIndex () |
void | getWeights (map< int, double > &weights, double dkm) |
const vector< double > & | getHorizontalCoefficients () const |
double | getHorizontalCoefficient (int index) const |
bool | isRadiusOutOfRangeAllowed () |
void | setRadiusOutOfRangeAllowed (bool allowed) |
string | getGridId () |
void | addReference () |
void | removeReference () |
int | getReferenceCount () |
bool | isNotReferenced () |
Protected Member Functions | |
virtual void | update2D (int tid) |
Additional Inherited Members | |
![]() | |
static GeoTessPosition * | getGeoTessPosition (GeoTessModel *model) |
static GeoTessPosition * | getGeoTessPosition (GeoTessModel *model, const InterpolatorType &horizontalType) |
static GeoTessPosition * | getGeoTessPosition (GeoTessModel *model, const InterpolatorType &horizontalType, const InterpolatorType &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 InterpolatorType & | 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.