public class QuantizedMeshTerrainCache extends TerrainCache
QuantizedMeshTerrainProvider
.Constructor and Description |
---|
QuantizedMeshTerrainCache(QuantizedMeshTerrainProvider provider)
Initializes a new instance.
|
Modifier and Type | Method and Description |
---|---|
TerrainRegion |
getLeastRecentlyUsedRegion()
Gets the region in this cache that was least recently used.
|
QuantizedMeshTerrainTile |
getMesh(int level,
int x,
int y)
Gets the terrain tile with specified tile coordinates.
|
long |
getSize()
Gets the approximate total memory, in bytes, used by all regions in the cache.
|
void |
loadRegion(TerrainRegion region)
Deprecated.
Internal use only.
|
void |
preloadExtent(CartographicExtent extent)
Loads the terrain data in a given extent into the terrain cache.
|
void |
removeRegion(TerrainRegion region)
Deprecated.
Internal use only.
|
void |
unloadExtent(CartographicExtent extent)
Unloads the cached terrain data for a given extent.
|
getGroup
public QuantizedMeshTerrainCache(@Nonnull QuantizedMeshTerrainProvider provider)
provider
- The terrain provider associated with this cache.ArgumentNullException
- Thrown when provider
is null
.public void removeRegion(TerrainRegion region)
removeRegion
in class TerrainCache
region
- The region to remove.ArgumentNullException
- Thrown when region
is null
.public void loadRegion(TerrainRegion region)
loadRegion
in class TerrainCache
region
- The region to load.ArgumentNullException
- Thrown when region
is null
.public long getSize()
getSize
in class TerrainCache
public TerrainRegion getLeastRecentlyUsedRegion()
getLeastRecentlyUsedRegion
in class TerrainCache
public final QuantizedMeshTerrainTile getMesh(int level, int x, int y)
TerrainCacheGroup
thread.level
- The zoom level.x
- The X tile coordinate.y
- The Y tile coordinate.ArgumentOutOfRangeException
- Thrown if the tile coordinates are invalid.public final void preloadExtent(@Nonnull CartographicExtent extent)
TerrainCacheGroup's
MaximumSize
(get
/ set
). Furthermore, the loaded terrain data is locked
in memory (meaning it will not be unloaded) until the user calls QuantizedMeshTerrainCache.unloadExtent(agi.foundation.coordinates.CartographicExtent)
.
This method is safe to call from any thread.extent
- The extent for which to load terrain data.ArgumentNullException
- Thrown when extent
is null
.public final void unloadExtent(@Nonnull CartographicExtent extent)
extent
- The extent for which to unload terrain, in the native units of the terrain provider.ArgumentNullException
- Thrown when extent
is null
.