GeoTessCPP
2.2.3
Software to facilitate storage and retrieval of 3D information about the Earth.
|
Go to the documentation of this file.
38 #ifndef POINTMAP_OBJECT_H
39 #define POINTMAP_OBJECT_H
116 vector<vector<int> > pointMap;
157 + (
LONG_INT)(pointMap.capacity() *
sizeof(vector<int>)
158 + pointMap.size() * 3 * (
LONG_INT)
sizeof(
int));
191 GeoTessPolygon* plgn = GeoTessPolygonFactory::getPolygon(polygonFileName);
192 setActiveRegion(plgn);
226 return pointMap.size();
239 return pointMap[pointIndex][0];
265 return pointMap[pointIndex][1];
278 return pointMap[pointIndex][2];
291 return pointMap[pointIndex];
321 return profiles[vertex][layer]->
getPointIndex(profiles[vertex][layer]->getNData()-1);
344 vector<int>& map = pointMap[pointIndex];
345 profiles[map[0]][map[1]]->
setData(map[2], data);
355 vector<int>& map = pointMap[pointIndex];
356 return profiles[map[0]][map[1]]->
getData(map[2]);
367 template <
typename T>
370 vector<int>& map = pointMap[pointIndex];
384 vector<int>& map = pointMap[pointIndex];
385 return profiles[map[0]][map[1]]->
getValue(attributeIndex, map[2]);
399 vector<int>& map = pointMap[pointIndex];
400 return profiles[map[0]][map[1]]->
getData(map[2])->
getDouble(attributeIndex);
414 vector<int>& map = pointMap[pointIndex];
415 return profiles[map[0]][map[1]]->
getData(map[2])->
getFloat(attributeIndex);
429 vector<int>& map = pointMap[pointIndex];
430 return profiles[map[0]][map[1]]->
getData(map[2])->
getLong(attributeIndex);
444 vector<int>& map = pointMap[pointIndex];
445 return profiles[map[0]][map[1]]->
getData(map[2])->
getInt(attributeIndex);
459 vector<int>& map = pointMap[pointIndex];
460 return profiles[map[0]][map[1]]->
getData(map[2])->
getShort(attributeIndex);
474 vector<int>& map = pointMap[pointIndex];
475 return profiles[map[0]][map[1]]->
getData(map[2])->
getByte(attributeIndex);
487 bool isNaN(
int pointIndex,
int attributeIndex)
489 vector<int>& map = pointMap[pointIndex];
490 return profiles[map[0]][map[1]]->
isNaN(map[2], attributeIndex);
503 vector<int>& map = pointMap[pointIndex];
504 const double* vv = grid.
getVertex(map[0]);
505 double r = profiles[map[0]][map[1]]->
getRadius(map[2]);
519 return grid.
getVertex(pointMap[pointIndex][0]);
530 vector<int>& map = pointMap[pointIndex];
531 return profiles[map[0]][map[1]]->
getRadius(map[2]);
542 vector<int>& map = pointMap[pointIndex];
543 return GeoTessUtils::getEarthRadius(
545 - profiles[map[0]][map[1]]->
getRadius(map[2]);
557 vector<int>& m1 = pointMap[pointIndex1];
558 vector<int>& m2 = pointMap[pointIndex2];
559 return GeoTessUtils::getDistance3D(grid.
getVertex(m1[0]),
561 profiles[m2[0]][m2[1]]->
getRadius(m2[2]));
607 return GeoTessUtils::getLatLonString(getPointUnitVector(pointIndex));
618 string frmt =
"%8.3f";
619 sprintf(s, frmt.c_str(), getPointDepth(pointIndex));
620 return GeoTessUtils::getLatLonString(getPointUnitVector(pointIndex))
629 #endif // POINTMAP_OBJECT_H
Relationships between vertices (2D positions in a tessellation), nodes (1D positions along a radial P...
Abstract class that manages the radii and data values that span a single layer associated with a sing...
GeoTessPolygon * getPolygon()
short getPointValueShort(int pointIndex, int attributeIndex)
byte getPointValueByte(int pointIndex, int attributeIndex)
double getPointValue(int pointIndex, int attributeIndex)
int getPointValueInt(int pointIndex, int attributeIndex)
int getPointIndexFirst(int vertex, int layer)
virtual int getInt(int attributeIndex) const
void getPointNeighbors(set< int > &pointNeighbors, int pointIndex)
GeoTessData * getPointData(int pointIndex)
LONG_INT getPointValueLong(int pointIndex, int attributeIndex)
double getDistance3D(int pointIndex1, int pointIndex2)
virtual float getRadius(int i) const
GeoTessPointMap(GeoTessModel &m)
const double * getPointUnitVector(int pointIndex) const
virtual LONG_INT getLong(int attributeIndex) const
An ordered list of points on the surface of a unit sphere that define a closed polygon.
double getPointRadius(int pointIndex)
double getPointValueDouble(int pointIndex, int attributeIndex)
Manages the geometry and topology of one or more multi-level triangular tessellations of a unit spher...
int getPointIndex(int vertex, int layer, int node)
GeoTessPointMap & operator=(const GeoTessPointMap &other)
const double * getVertex(int vertex) const
virtual float getFloat(int attributeIndex) const
int getLayerIndex(int pointIndex)
int getTessId(int pointIndex)
int getVertexIndex(int pointIndex)
void setActiveRegion(GeoTessPolygon *polygon)
Abstract base class that manages the data values attached to a single grid point.
virtual int getPointIndex(int nodeIndex) const
string getPointLatLonString(int pointIndex)
double getPointDepth(int pointIndex)
GeoTessPointMap(GeoTessPointMap &other)
bool isNaN(int pointIndex, int attributeIndex)
void setPointValue(int pointIndex, int attributeIndex, T value)
int getNodeIndex(int pointIndex)
string toString(int pointIndex)
int getPointIndexLast(int vertex, int layer)
virtual double getDouble(int attributeIndex) const
float getPointValueFloat(int pointIndex, int attributeIndex)
Top level class that manages the GeoTessMetaData, GeoTessGrid and GeoTessData that comprise a 3D Eart...
void getPointVector(int pointIndex, double *v)
bool operator!=(const GeoTessPointMap &other)
virtual byte getByte(int attributeIndex) const
virtual GeoTessData & setValue(int attributeIndex, double v)
void setPointData(int pointIndex, GeoTessData *data)
virtual short getShort(int attributeIndex) const
virtual bool isNaN(int nodeIndex, int attributeIndex)
const vector< int > & getPointIndices(int pointIndex)
void setActiveRegion(const string &polygonFileName)
bool operator==(const GeoTessPointMap &other)
virtual double getValue(const GeoTessInterpolatorType &rInterpType, int attributeIndex, double radius, bool allowRadiusOutOfRange) const
virtual void setData(int index, GeoTessData *data)
virtual GeoTessData ** getData()