![]() |
MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
|
The TSLTerrainDatabaseLayer class provides access to layer-specific information and parameters within a TSLTerrainDatabase.
A TSLTerrainDatabaseLayer is divided into a grid of tiles. Each of these tiles contains multiple resolutions of data, arranged in a pyramid.
All query operations on the terrain database will select a single resolution of data from each layer. The resolution chosen is determined by either calling TSLTerrainDatabase::displayExtent, or TSLTerrainDatabaseLayer::set PostDistanceLimit.
Public Member Functions | |
virtual | ~TSLTerrainDatabaseLayer () |
virtual bool | largestPostDistance (double &x, double &y) |
virtual TSLMUExtent | queryExtent () |
virtual void | setPostDistanceLimit (double x, double y) |
virtual bool | smallestPostDistance (double &x, double &y) |
virtual TSLTerrainTileDataItem * | queryTileAt (double x, double y, double nullValue) const |
virtual TSLTerrainTileDataItem * | queryTileAt (double x, double y, double nullValue, double postDistanceLimitX, double postDistanceLimitY) const |
virtual bool | queryPostDistance (double &postDistanceX, double &postDistanceY, bool &levelPresentInAllTiles) |
virtual bool | queryPostDistance (double &postDistanceX, double &postDistanceY, bool &levelPresentInAllTiles, double postDistanceLimitX, double postDistanceLimitY) |
void | operator delete (void *ptr) |
Protected Member Functions | |
TSLTerrainDatabaseLayer () | |
TSLTerrainDatabaseLayer (void *p) | |
|
virtual |
|
protected |
|
protected |
|
virtual |
Query the post distance of the least detailed sub-layer
This is the distance between data points, in the units of the database. This will be the same as the smallest post distance, if there is only 1 data resolution available, or if the database is a TSLDTEDTerrainDatabase.
Depending on the original data, the x and y post distances may be different
Note: This exact level may not be present in all tiles. If it is not, queries will return data based on the post distance limit.
Returns true if the parameters were set successfuly, false otherwise.
Reimplemented in TSLDTEDTerrainDatabaseLayer.
void TSLTerrainDatabaseLayer::operator delete | ( | void * | ptr | ) |
|
virtual |
Returns the data extent covered by this layer. The extent is in the same units as are used by the terrain database.
Reimplemented in TSLDTEDTerrainDatabaseLayer.
|
virtual |
Query the ideal post distance, which will be used when performing tile data queries.
This post distance will be selected based on the contents of the terrain database, and the provided post distance limits.
Note that tiles within a layer may not contain the same levels of resolution, and queried tiles may be returned with a larger post distance than this value. This should only happen if the provided post distance limits cause the highest, or lowest resolution of data to be selected.
postDistanceX | Will be populated with the ideal horizontal post distance. |
postDistanceY | Will be populated with the ideal vertical post distance. |
levelPresentInAllTiles | This will be set to true if the returned post distance is present in all tiles, or false otherwise. |
Reimplemented in TSLDTEDTerrainDatabaseLayer.
|
virtual |
Query the ideal post distance, which will be used when performing tile data queries.
This post distance will be selected based on the contents of the terrain database, and the provided post distance limits.
Note that tiles within a layer may not contain the same levels of resolution, and queried tiles may be returned with a larger post distance than this value. This should only happen if the provided post distance limits cause the highest, or lowest resolution of data to be selected.
postDistanceX | Will be populated with the ideal horizontal post distance. |
postDistanceY | Will be populated with the ideal vertical post distance. |
levelPresentInAllTiles | This will be set to true if the returned post distance is present in all tiles, or false otherwise. |
postDistanceLimitX | The horizontal post distance limit. |
postDistanceLimitY | The vertical post distance limit. |
Reimplemented in TSLDTEDTerrainDatabaseLayer.
|
virtual |
Query a tile from this layer, at the given position.
The tile data will be returned without any interpolation, and will respect the limits set by setPostDistanceLimit.
(x,y) | The location, in units of the terrain database, to query the tile. |
nullValue | Any null values in the terrain data will be replaced by this value. |
Reimplemented in TSLDTEDTerrainDatabaseLayer.
|
virtual |
Query a tile from this layer, at the given position.
The tile data will be returned without any interpolation, and will respect the provided post distance limits.
(x,y) | The location, in units of the terrain database, to query the tile. |
nullValue | Any null values in the terrain data will be replaced by this value. |
postDistanceLimitX | The horizontal post distance limit. |
postDistanceLimitY | The vertical post distance limit. |
Reimplemented in TSLDTEDTerrainDatabaseLayer.
|
virtual |
Set the post distance limit.
This limit determines which level of the pyramid data is returned from. Data will be returned from the least detailed layer, after this limit.
A limit of 0 will result in the highest available resolution being used. A limit of DBL_MAX will result in the lowest available resolution being used.
If TSLTerrainDatabase::displayExtent is called, this limit will be overridden.
x | The horizontal post distance limit. |
y | The vertical post distance limit. |
Reimplemented in TSLDTEDTerrainDatabaseLayer.
|
virtual |
Query the post distance of the most detailed sub-layer.
This is the distance between data points, in the units of the database. This will be the same as the largest post distance, if there is only 1 data resolution available, or if the database is a TSLDTEDTerrainDatabase.
Depending on the original data, the x and y post distances may be different
Note: This exact level may not be present in all tiles. If it is not, queries will return data based on the post distance limit.
Returns true if the parameters were set successfuly, false otherwise.
Reimplemented in TSLDTEDTerrainDatabaseLayer.