![]() |
MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
|
This class holds configuration information for the Level Of Detail tiles.
The Tiles are stored in a Quad Tree. The first level contains the initial split of the Earth latitude longitude range. The second level contains each top level split into 4. We ensure that a minimum of 2 levels exist so that when the Earth is viewed at a distance we only display the half on view.
The maximum number of levels limits how many nodes we store. This is a trade-off between memory and resolution.
The Quad Tree will not be fully populated, so the worst case should not occur.
The tileSplit controls when we move to the next level in the Quad Tree. This should be manipulated in very small amounts as this could cause large number of nodes at the highest level of detail to be displayed with the corresponding effect on performance or running out of memory.
The default figures defined are a combination of trade-offs between map-resolution, memory use and performance.
Classes | |
struct | TSLTextureSizes |
Public Member Functions | |
TSL3DLODConfiguration () | |
Public Attributes | |
short | m_highDetailLevel |
short | m_mediumDetailLevel |
TSLTextureSizes | m_highDetailTextureSizes |
TSLTextureSizes | m_mediumDetailTextureSizes |
TSLTextureSizes | m_lowDetailTextureSizes |
short | m_maximumLevel |
short | m_minimumLevel |
double | m_tileSplit |
short | m_maximumPolygonLevel |
short | m_minimumPolygonLevel |
short | m_maximumLineLevel |
short | m_minimumLineLevel |
struct TSL3DLODConfiguration::TSLTextureSizes |
Contains the texture sizes to use.
The sizes should be as small as required and be powers of 2.
Do not exceed the size available for the graphics card being used.
Most modern graphics cards support 1024 and 2048 sizes.
Class Members | ||
---|---|---|
short | m_highTextureSize | |
short | m_intermediateTextureSize | |
short | m_lowTextureSize | |
short | m_mediumTextureSize |
|
inline |
Constructor.
Class TSL3DLODConfiguration::TSLTextureSizes Class TSL3DLODConfiguration
short TSL3DLODConfiguration::m_highDetailLevel |
Level at which high detail (larger) textures are used for map detail.
The value should be >= m_minimumLevel && <= m_maximumLevel.
The value should be higher than mediumDetailLevel
TSLTextureSizes TSL3DLODConfiguration::m_highDetailTextureSizes |
Texture size for high detail levels.
The priorities are related to the queue priority for draw the tile. A lower priority will be replaced by a high priority tile over time.
Texture sizes must be powers of two and not exceed the maximum texture size supported by the graphics card.
TSLTextureSizes TSL3DLODConfiguration::m_lowDetailTextureSizes |
Texture size for low detail levels.
The priorities are related to the queue priority for draw the tile. A lower priority will be replaced by a high priority tile over time.
Texture sizes must be powers of two and not exceed the maximum texture size supported by the graphics card.
short TSL3DLODConfiguration::m_maximumLevel |
The maximum number of levels in the LOD Quad tree.
The more levels the more memory required and the more processing required.
You would only normally require more levels if you require very high detail map data.
short TSL3DLODConfiguration::m_maximumLineLevel |
The maximum polyline level of detail.
The polyline LOD is calculated based on the lowest point on a Polygon.
The polyline LOD is used to work out the number of grid subdivisions to use when draping the polyline over the Earth's surface.
The sensible maximum value is currently 8.
short TSL3DLODConfiguration::m_maximumPolygonLevel |
The maximum polygon level of detail.
The polygon LOD is calculated based on the lowest point on a Polygon.
The polygon LOD is used to work out the number of grid subdivisions to use when draping the polygon over the Earth's surface.
The sensible maximum value is currently 8.
short TSL3DLODConfiguration::m_mediumDetailLevel |
Level at which medium detail (larger) textures are used for map detail.
The value should be >= m_minimumLevel && <= m_maximumLevel.
The value should be less than highDetailLevel
TSLTextureSizes TSL3DLODConfiguration::m_mediumDetailTextureSizes |
Texture size for medium detail levels.
The priorities are related to the queue priority for draw the tile. A lower priority will be replaced by a high priority tile over time.
Texture sizes must be powers of two and not exceed the maximum texture size supported by the graphics card.
short TSL3DLODConfiguration::m_minimumLevel |
The minimum LOD level to always create.
The higher the number the more memory required as each node in the Quad Tree will need to be created.
short TSL3DLODConfiguration::m_minimumLineLevel |
The minimum polyline level of detail.
The polyline LOD is calculated based on the lowest point on a Polygon.
The polyline LOD is used to work out the number of grid subdivisions to use when draping the polyline over the Earth's surface.
The sensible minimum value is currently 2. Any value less then this and the polyline will not follow the Earth's surface.
short TSL3DLODConfiguration::m_minimumPolygonLevel |
The minimum polygon level of detail.
The polygon LOD is calculated based on the lowest point on a Polygon.
The polygon LOD is used to work out the number of grid subdivisions to use when draping the polygon over the Earth's surface.
The sensible minimum value is currently 2. Any value less then this and the polygon will not follow the Earth's surface.
double TSL3DLODConfiguration::m_tileSplit |
This factor has a range [0..1].
It is used as part of the decision for splitting the tiles to go to the next LOD level in the Quad tree.
The larger the value the earlier the split occurs as distance from the tile decreases.
The smaller the value the later the split occurs as distance from the tile decreases.
Only increment or decrement the setting by very small values, avoiding the upper part of the range due to the significant increase in memory that can occur.