Class TextureTile

    • Field Detail

      • hasMipmapData

        protected boolean hasMipmapData
      • updateTime

        protected java.util.concurrent.atomic.AtomicLong updateTime
    • Constructor Detail

      • TextureTile

        public TextureTile​(Sector sector)
      • TextureTile

        public TextureTile​(Sector sector,
                           Level level,
                           int row,
                           int col)
      • TextureTile

        public TextureTile​(Sector sector,
                           Level level,
                           int row,
                           int column,
                           java.lang.String cacheName)
    • Method Detail

      • getMemoryCache

        public static MemoryCache getMemoryCache()
        Returns the memory cache used to cache tiles for this class and its subclasses, initializing the cache if it doesn't yet exist.
        Returns:
        the memory cache associated with the tile.
      • getSizeInBytes

        public long getSizeInBytes()
        Description copied from interface: Cacheable
        Retrieves the approximate size of this object in bytes. Implementors are encouraged to calculate the exact size for smaller objects, but use approximate values for objects that include such large components that the approximation would produce an error so small that the extra computation would be wasteful.
        Specified by:
        getSizeInBytes in interface Cacheable
        Overrides:
        getSizeInBytes in class Tile
        Returns:
        this Cacheable object's size in bytes
      • getFallbackTile

        public TextureTile getFallbackTile()
      • setFallbackTile

        public void setFallbackTile​(TextureTile fallbackTile)
      • getTextureData

        public com.jogamp.opengl.util.texture.TextureData getTextureData()
        Returns the texture data most recently specified for the tile. New texture data is typically specified when a new image is read, either initially or in response to image expiration.

        If texture data is non-null, a new texture is created from the texture data when the tile is next bound or otherwise initialized. The texture data field is then set to null. Subsequently setting texture data to be non-null causes a new texture to be created when the tile is next bound or initialized.

        Returns:
        the texture data, which may be null.
      • setTextureData

        public void setTextureData​(com.jogamp.opengl.util.texture.TextureData textureData)
        Specifies new texture data for the tile. New texture data is typically specified when a new image is read, either initially or in response to image expiration.

        If texture data is non-null, a new texture is created from the texture data when the tile is next bound or otherwise initialized. The texture data field is then set to null. Subsequently setting texture data to be non-null causes a new texture to be created when the tile is next bound or initialized.

        When a texture is created from the texture data, the texture data field is set to null to indicate that the data has been converted to a texture and its resources may be released.

        Parameters:
        textureData - the texture data, which may be null.
      • getTexture

        public com.jogamp.opengl.util.texture.Texture getTexture​(GpuResourceCache tc)
      • getUpdateTime

        public long getUpdateTime()
      • isTextureExpired

        public boolean isTextureExpired()
      • isTextureExpired

        public boolean isTextureExpired​(long expiryTime)
      • setTexture

        public void setTexture​(GpuResourceCache tc,
                               com.jogamp.opengl.util.texture.Texture texture)
      • getCentroidPoint

        public Vec4 getCentroidPoint​(Globe globe)
      • createSubTiles

        public TextureTile[] createSubTiles​(Level nextLevel)
        Splits this texture tile into four tiles; one for each sub quadrant of this texture tile. This attempts to retrieve each sub tile from the texture tile cache. This calls createSubTile(gov.nasa.worldwind.geom.Sector, gov.nasa.worldwind.util.Level, int, int) to create sub tiles not found in the cache.
        Parameters:
        nextLevel - the level for the sub tiles.
        Returns:
        a four-element array containing this texture tile's sub tiles.
        Throws:
        java.lang.IllegalArgumentException - if the level is null.
      • createSubTile

        protected TextureTile createSubTile​(Sector sector,
                                            Level level,
                                            int row,
                                            int col)
        Creates a sub tile of this texture tile with the specified Sector, Level, row, and column. This is called by createSubTiles(gov.nasa.worldwind.util.Level), to construct a sub tile for each quadrant of this tile. Subclasses must override this method to return an instance of the derived version.
        Parameters:
        sector - the sub tile's sector.
        level - the sub tile's level.
        row - the sub tile's row.
        col - the sub tile's column.
        Returns:
        a sub tile of this texture tile.
      • createSubTileKey

        protected TileKey createSubTileKey​(Level level,
                                           int row,
                                           int col)
        Returns a key for a sub tile of this texture tile with the specified Level, row, and column. This is called by createSubTiles(gov.nasa.worldwind.util.Level), to create a sub tile key for each quadrant of this tile.
        Parameters:
        level - the sub tile's level.
        row - the sub tile's row.
        col - the sub tile's column.
        Returns:
        a sub tile of this texture tile.
      • getTileFromMemoryCache

        protected TextureTile getTileFromMemoryCache​(TileKey tileKey)
      • updateMemoryCache

        protected void updateMemoryCache()
      • initializeTexture

        protected com.jogamp.opengl.util.texture.Texture initializeTexture​(DrawContext dc)
      • setTextureParameters

        protected void setTextureParameters​(DrawContext dc,
                                            com.jogamp.opengl.util.texture.Texture t)
      • applyResourceTextureTransform

        protected void applyResourceTextureTransform​(DrawContext dc)
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class Tile
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Tile
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class Tile