GeoTessCPP
2.2
Software to facilitate storage and retrieval of 3D information about the Earth.
|
Implements linear interpolation in geographic dimensions of a grid. More...
#include <GeoTessPositionLinear.h>
Public Member Functions | |
GeoTessPositionLinear (GeoTessModel *model, const GeoTessInterpolatorType &radialType) | |
Standard constructor. More... | |
virtual | ~GeoTessPositionLinear () |
Destructor. More... | |
virtual const GeoTessInterpolatorType & | getInterpolatorType () const |
Retrieve the type of interpolation that this GeoTessPosition object is configured to perform. More... | |
virtual long | getMemory () |
Retrieve the amount of memory consumed by this GeoTessPosition object. More... | |
![]() | |
virtual | ~GeoTessPosition () |
Destructor. More... | |
void | addReference () |
Add reference count;. More... | |
void | copyVector (double *u) |
Copy the contents of the unit vector that corresponds to the current position into the supplied double* which must have at least 3 elements. More... | |
const double * | getClosestVertex () const |
Retrieve the unit vector of the vertex wiht the highest interpolation coefficient. More... | |
void | getCoefficients (map< int, double > &coefficients) |
Retrieve a map from pointIndex to interpolation coefficient. More... | |
double | getDepth () |
Retrieve the depth of the current position in km. More... | |
double | getDepthBottom () |
Retrieve an interpolated value of the depth of the bottom of the current layer. More... | |
double | getDepthBottom (int layid) |
Retrieve an interpolated value of the depth of the bottom of the current layer. More... | |
double | getDepthTop () |
Retrieve an interpolated value of the depth of the top of the current layer. More... | |
double | getDepthTop (int layid) |
Retrieve an interpolated value of the depth of the top of the current layer. More... | |
double | getEarthRadius () |
Retrieve the radius of the Earth at this position, in km. More... | |
double | getErrorValue () |
If any calculated value is Double.NaN, then functions like getValue() or getRadiusTop() or getRadiusBottom() will return this errorValue. More... | |
double | getHorizontalCoefficient (int index) const |
Retrieve the interpolation coefficient associated with one of the vertices of the tessellation used to interpolate data. More... | |
const vector< double > & | getHorizontalCoefficients () const |
Retrieve a reference to the horizontal interpolation coefficients associated with the vertices of the tessellation used to interpolate data. More... | |
int | getIndexOfClosestVertex () const |
Retrieve the index of the highest interpolation coefficient. More... | |
int | getLayerId (double rad) |
Retrieve the index of the layer that contains the specified radius. More... | |
int | getLayerId () |
double | getLayerThickness (int layid) |
Retrieve the thickness of specified layer, in km. More... | |
double | getLayerThickness () |
Retrieve the thickness of specified layer, in km. More... | |
int | getMaxTessLevel (int layid) |
Retrieve the current value of maxTessLevel, which is the maximum tessellation level such that the triangle that is found during a walking triangle search will be on a tessellation level that is no higher than the specified value. More... | |
GeoTessModel * | getModel () |
int | getNVertices () |
Return the number of vertices (3 for LINEAR interpolation, more for natural neighbor). More... | |
double | getRadius () |
Retrieve the radius of the current position, in km. More... | |
double | getRadiusBottom (int layid) |
Retrieve an interpolated value of the radius of the bottom of the specified layer, in km. More... | |
double | getRadiusBottom () |
Retrieve an interpolated value of the radius of the bottom of the current layer. More... | |
double | getRadiusTop (int layid) |
Retrieve an interpolated value of the radius of the top of the specified layer, in km. More... | |
double | getRadiusTop () |
Retrieve an interpolated value of the radius of the top of the current layer. More... | |
int | getReferenceCount () |
Retrieve reference count - number of other objects that hold a reference to this position object. More... | |
int | getTessID () |
int | getTessLevel () const |
Retrieve the index of the tessellation level of the triangle that was found the last time that the walinkg triangle algorithm was executed. More... | |
int | getTessLevel (const int &tId) |
Retrieve the index of the tessellation level of the triangle that was found the last time that the walking triangle algorithm was executed. More... | |
int | getTriangle () |
Retrieve the index of the triangle within which the current position is located. More... | |
virtual double | getValue (int attribute) |
Retrieve an interpolated value of the specified model attribute. More... | |
double * | getVector () |
Retrieve a reference to the 3 component unit vector that corresponds to the current position. More... | |
int | getVertex (int index) |
Return the index of one of the vertices used to interpolate data. More... | |
int | getVertexIndex () |
If the position of this GeoTessPosition object is currently set to a location that coincides with one of the grid vertices, return the index of that vertex. More... | |
const vector< int > & | getVertices () const |
Return a reference to the array containing the indexes of vertices in the 2D grid that will be involved in the interpolation of data. More... | |
void | getWeights (map< int, double > &weights, double dkm) |
Add the weights of the current interpolation position to the supplied map of weights. More... | |
bool | isNotReferenced () |
Returns true if reference count is zero. More... | |
bool | isRadiusOutOfRangeAllowed () |
Controls radius out-of-range behavior. More... | |
bool | noEmptyProfiles () |
Returns true if the current interpolation position has no empty profiles. More... | |
void | removeReference () |
Remove reference count;. More... | |
void | set (double lat, double lon, double depth) |
Set the interpolation point to specified latitude and and longitude in degrees and depth in km below sea level. More... | |
void | set (const double *const uVector, const double &newRadius) |
Set the interpolation point. More... | |
void | set (int layid, double lat, double lon, double depth) |
Set the interpolation point to specified latitude and longitude in degrees and depth in km below sea level. More... | |
void | set (int layid, const double *const uVector, double rad) |
Set the interpolation point. More... | |
void | setBottom (int layid, const double *const uVector) |
Set the 2D position to unitVector and radius to the radius of the bottom of the specified layer. More... | |
void | setBottom (int layid) |
Set the radius to the radius of the bottom of the specified layer. More... | |
void | setDepth (int layer, double depth) |
Change the current layer and/or depth without changing the geographic position. More... | |
void | setDepth (double depth) |
Change the current depth without changing the geographic position. More... | |
void | setErrorValue (double errVal) |
If any calculated value is NaN, then functions like getValue() or getRadiusTop() or getRadiusBottom() will return this value. More... | |
void | setMaxTessLevel (int layid, int maxTess) |
Set the maximum tessellation level such that the triangle that is found during a walking triangle search will be on a tessellation level that is no higher than the specified value. More... | |
void | setModel (GeoTessModel *newModel) |
Replace the model that currently supports this GeoTessPosition object with a new model. More... | |
void | setRadius (int layid, double rad) |
Change the current radius without changing the geographic position. More... | |
void | setRadius (double rad) |
Change the current radius without changing the geographic position. More... | |
void | setRadiusOutOfRangeAllowed (bool allowed) |
Controls radius out-of-range behavior. More... | |
void | setTop (int layid, const double *const uVector) |
Set the 2D position to unitVector and radius to the radius of the top of the specified layer. More... | |
void | setTop (int layid) |
Set the radius to the radius of the top of the specified layer. More... | |
string | toString () |
Returns position as a string. More... | |
Protected Member Functions | |
virtual void | update2D (int tid) |
Set vertices to the 3-element array that stores the corners of the triangle identified during the triangle walk algorithm. More... | |
Additional Inherited Members | |
![]() | |
static GeoTessPosition * | getGeoTessPosition (GeoTessModel *model) |
Static factory method to create a new GeoTessPosition object. More... | |
static GeoTessPosition * | getGeoTessPosition (GeoTessModel *model, const GeoTessInterpolatorType &horizontalType) |
Static factory method to create a new GeoTessPosition object. More... | |
static GeoTessPosition * | getGeoTessPosition (GeoTessModel *model, const GeoTessInterpolatorType &horizontalType, const GeoTessInterpolatorType &radialType) |
Static factory method to create a new GeoTessPosition object. More... | |
Implements linear interpolation in geographic dimensions of a grid.
Implements linear interpolation in geographic dimensions of a grid.
geotess::GeoTessPositionLinear::GeoTessPositionLinear | ( | 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.
|
inlinevirtual |
Retrieve the amount of memory consumed by this GeoTessPosition object.
Reimplemented from geotess::GeoTessPosition.
|
inlineprotectedvirtual |
Set vertices to the 3-element array that stores the corners of the triangle identified during the triangle walk algorithm.
Horizontal coefficients are similarly set to the coefficients identified during triangle walk.
GeoTessException |