36 #ifndef POINTMAP_OBJECT_H
37 #define POINTMAP_OBJECT_H
114 vector<vector<int> > pointMap;
158 void setActiveRegion();
182 GeoTessPolygon* plgn = GeoTessPolygonFactory::getPolygon(polygonFileName);
183 setActiveRegion(plgn);
217 return pointMap.size();
230 return pointMap[pointIndex][0];
243 return metaData.getTessellation(pointMap[pointIndex][1]);
256 return pointMap[pointIndex][1];
269 return pointMap[pointIndex][2];
282 return pointMap[pointIndex];
297 return profiles[vertex][layer]->getPointIndex(node);
312 return profiles[vertex][layer]->getPointIndex(profiles[vertex][layer]->getNData()-1);
327 return profiles[vertex][layer]->getPointIndex(0);
335 vector<int>& map = pointMap[pointIndex];
336 profiles[map[0]][map[1]]->setData(map[2], data);
346 vector<int>& map = pointMap[pointIndex];
347 return profiles[map[0]][map[1]]->
getData(map[2]);
358 template <
typename T>
361 vector<int>& map = pointMap[pointIndex];
362 profiles[map[0]][map[1]]->getData(map[2])->setValue(attributeIndex,
375 vector<int>& map = pointMap[pointIndex];
376 return profiles[map[0]][map[1]]->getValue(attributeIndex, map[2]);
390 vector<int>& map = pointMap[pointIndex];
391 return profiles[map[0]][map[1]]->getData(map[2])->getDouble(attributeIndex);
405 vector<int>& map = pointMap[pointIndex];
406 return profiles[map[0]][map[1]]->getData(map[2])->getFloat(attributeIndex);
420 vector<int>& map = pointMap[pointIndex];
421 return profiles[map[0]][map[1]]->getData(map[2])->getLong(attributeIndex);
435 vector<int>& map = pointMap[pointIndex];
436 return profiles[map[0]][map[1]]->getData(map[2])->getInt(attributeIndex);
450 vector<int>& map = pointMap[pointIndex];
451 return profiles[map[0]][map[1]]->getData(map[2])->getShort(attributeIndex);
465 vector<int>& map = pointMap[pointIndex];
466 return profiles[map[0]][map[1]]->getData(map[2])->getByte(attributeIndex);
478 bool isNaN(
int pointIndex,
int attributeIndex)
480 vector<int>& map = pointMap[pointIndex];
481 return profiles[map[0]][map[1]]->isNaN(map[2], attributeIndex);
494 vector<int>& map = pointMap[pointIndex];
495 const double* vv = grid.getVertex(map[0]);
496 double r = profiles[map[0]][map[1]]->getRadius(map[2]);
510 return grid.getVertex(pointMap[pointIndex][0]);
521 vector<int>& map = pointMap[pointIndex];
522 return profiles[map[0]][map[1]]->getRadius(map[2]);
533 vector<int>& map = pointMap[pointIndex];
534 return GeoTessUtils::getEarthRadius(
535 grid.getVertex(pointMap[pointIndex][0]))
536 - profiles[map[0]][map[1]]->getRadius(map[2]);
548 vector<int>& m1 = pointMap[pointIndex1];
549 vector<int>& m2 = pointMap[pointIndex2];
550 return GeoTessUtils::getDistance3D(grid.getVertex(m1[0]),
551 profiles[m1[0]][m1[1]]->getRadius(m1[2]), grid.getVertex(m2[0]),
552 profiles[m2[0]][m2[1]]->getRadius(m2[2]));
589 void getPointNeighbors(set<int>& pointNeighbors,
int pointIndex);
598 return GeoTessUtils::getLatLonString(getPointUnitVector(pointIndex));
609 string frmt =
"%8.3f";
610 sprintf(s, frmt.c_str(), getPointDepth(pointIndex));
611 return GeoTessUtils::getLatLonString(getPointUnitVector(pointIndex))
620 #endif // POINTMAP_OBJECT_H
string toString(int pointIndex)
Definition: GeoTessPointMap.h:606
An ordered list of points on the surface of a unit sphere that define a closed polygon.
Definition: GeoTessPolygon.h:111
Relationships between vertices (2D positions in a tessellation), nodes (1D positions along a radial P...
Definition: GeoTessPointMap.h:74
bool isNaN(int pointIndex, int attributeIndex)
Definition: GeoTessPointMap.h:478
void setPointData(int pointIndex, GeoTessData *data)
Definition: GeoTessPointMap.h:333
float getPointValueFloat(int pointIndex, int attributeIndex)
Definition: GeoTessPointMap.h:403
int getLayerIndex(int pointIndex)
Definition: GeoTessPointMap.h:254
void getPointVector(int pointIndex, double *v)
Definition: GeoTessPointMap.h:492
string getPointLatLonString(int pointIndex)
Definition: GeoTessPointMap.h:596
bool isPopulated()
Definition: GeoTessPointMap.h:208
double getPointRadius(int pointIndex)
Definition: GeoTessPointMap.h:519
Manages the geometry and topology of one or more multi-level triangular tessellations of a unit spher...
Definition: GeoTessGrid.h:163
int getPointIndexFirst(int vertex, int layer)
Definition: GeoTessPointMap.h:325
int getTessId(int pointIndex)
Definition: GeoTessPointMap.h:241
static GeoTessData * getData(const GeoTessDataType &dataType, int nAttributes)
int getPointValueInt(int pointIndex, int attributeIndex)
Definition: GeoTessPointMap.h:433
GeoTessData * getPointData(int pointIndex)
Definition: GeoTessPointMap.h:344
void setPointValue(int pointIndex, int attributeIndex, T value)
Definition: GeoTessPointMap.h:359
int getVertexIndex(int pointIndex)
Definition: GeoTessPointMap.h:228
GeoTessPolygon * getPolygon()
Definition: GeoTessPointMap.h:193
void setActiveRegion(const string &polygonFileName)
Definition: GeoTessPointMap.h:180
short getPointValueShort(int pointIndex, int attributeIndex)
Definition: GeoTessPointMap.h:448
LONG_INT getPointValueLong(int pointIndex, int attributeIndex)
Definition: GeoTessPointMap.h:418
int getPointIndex(int vertex, int layer, int node)
Definition: GeoTessPointMap.h:295
const vector< int > & getPointIndices(int pointIndex)
Definition: GeoTessPointMap.h:280
byte getPointValueByte(int pointIndex, int attributeIndex)
Definition: GeoTessPointMap.h:463
#define byte
signed-byte typedef
Definition: CPPGlobals.h:94
bool operator!=(const GeoTessPointMap &other)
Definition: GeoTessPointMap.h:145
double getDistance3D(int pointIndex1, int pointIndex2)
Definition: GeoTessPointMap.h:546
#define LONG_INT
Definition: CPPGlobals.h:111
Abstract class that manages the radii and data values that span a single layer associated with a sing...
Definition: GeoTessProfile.h:96
Abstract base class that manages the data values attached to a single grid point. ...
Definition: GeoTessData.h:75
Top level class that manages the GeoTessMetaData, GeoTessGrid and Data that comprise a 3D Earth model...
Definition: GeoTessModel.h:119
double getPointValueDouble(int pointIndex, int attributeIndex)
Definition: GeoTessPointMap.h:388
int getPointIndexLast(int vertex, int layer)
Definition: GeoTessPointMap.h:310
int size()
Definition: GeoTessPointMap.h:215
double getPointDepth(int pointIndex)
Definition: GeoTessPointMap.h:531
#define GEOTESS_EXP_IMP
Definition: CPPGlobals.h:71
const double * getPointUnitVector(int pointIndex) const
Definition: GeoTessPointMap.h:508
double getPointValue(int pointIndex, int attributeIndex)
Definition: GeoTessPointMap.h:373
int getNodeIndex(int pointIndex)
Definition: GeoTessPointMap.h:267