Creates a new Tile.
The DataSource that created this Tile.
The unique identifier for this Tile. Currently only up to level 24 is supported, because of the use of the upper bits for the offset.
The optional offset, this is an integer which represents what multiple of 360 degrees to shift, only useful for flat projections, hence optional.
Optional
localTangentSpace: booleanWhether the tile geometry is in local tangent space or not.
Optional
copyrightCopyright information of this Tile
's data.
Readonly
dataThe DataSource that created this Tile.
If the tile should not yet be rendered, this is used typically when the tile in question does not fit into the gpu upload limit of the current frame. Setting this value directly affects the [[willRender]] method, unless overriden by deriving classes.
Readonly
dependenciesThe optional list of HERE TileKeys of tiles with geometries that cross the boundaries of this
Tile
.
The last frame this Tile
has been rendered (or was in the visible set). Used to determine
visibility of Tile
at the end of a frame, if the number is the current frame number, it is
visible.
The frame the Tile
was first visible.
Readonly
geoThe bounding box of this Tile
in geocoordinates.
Protected
Optional
Readonly
m_After removing from cache, this is the number of frames the Tile
was visible.
Readonly
objectsA list of the THREE.js objects stored in this Tile
.
If the tile should not be rendered, this is used typically when the tile in question is completely covered by another tile and therefore can be skipped without any visual impact. Setting this value directly affects the [[willRender]] method, unless overriden by deriving classes.
Readonly
tileThe unique identifier for this Tile. Currently only up to level 24 is supported, because of the use of the upper bits for the offset.
Version stamp of the visibility set in the [[TileManager]]. If the counter is different, the visibility of the Tile's objects has to be calculated. Optimization to reduce overhead of computing visibility.
True
if all geometry of the Tile
has been loaded.
Get the current blocking elements.
Gets the tile's bounding box.
The center of this Tile
in world coordinates.
Gets the decoded tile; it is removed after geometry handling.
Applies the decoded tile to the tile.
The decoded tile to set.
If the geometry is empty, then the tile's forceHasGeometry flag is set. Map is updated.
Returns true
if this Tile
has been disposed.
Internal
Gets the tile's ground elevation range in meters.
Internal
Sets the tile's ground elevation range in meters.
The elevation range.
MapView checks if this Tile
is ready to be rendered while culling.
By default, MapView checks if the [[objects]] list is not empty. However, you can override this check by manually setting this property.
The visibility status of the Tile. It is actually visible or planned to become visible.
Sets the tile visibility status.
True
to mark the tile as visible, False
otherwise.
Internal
Gets a set of the GeometryKinds that were loaded (if any).
Whether the data of this tile is in local tangent space or not.
If the data is in local tangent space (i.e. up vector is (0,0,1) for high zoomlevels) then MapView will rotate the objects before rendering using the rotation matrix of the oriented [[boundingBox]].
The optional offset, this is an integer which represents what multiple of 360 degrees to shift, only useful for flat projections, hence optional.
The optional offset, this is an integer which represents what multiple of 360 degrees to shift, only useful for flat projections, hence optional.
Which multiple of 360 degrees to apply to the Tile.
The @xyzmaps/harp-geoutils#Projection currently used by the MapView.
Internal
Gets the current GroupedPriorityList
which
contains a list of all TextElements to be
selected and placed for rendering.
Gets the current modification state for the list
of TextElements in the Tile
.
If the value is true
the TextElement
is placed for
rendering during the next frame.
Gets the ITileLoader that manages this tile.
Sets the ITileLoader to manage this tile.
A ITileLoader instance to manage the loading process for this tile.
This key is only unique within the given DataSource, to get a key which is unique across DataSources see [[DataSourceCache.getKeyForTile]].
Internal
User text elements are deprecated.
Gets the list of developer-defined TextElement in this Tile
.
This list is always rendered first.
Estimated visible area of tile used for sorting the priorities during loading.
Adds a PathBlockingElement
to this Tile
.
Element which should block all other labels.
This path has the highest priority and blocks all other labels. There maybe in future a use case to give it a priority, but as that isn't yet required, it is left to be implemented later if required.
Adds a TextElement to this Tile
, which is added to the visible set of
TextElements based on the capacity and visibility.
The TextElement to add.
The TextElement's priority controls if or when it becomes visible.
To ensure that a TextElement is visible, use a high value for its priority, such as
TextElement.HIGHEST_PRIORITY
. Since the number of visible TextElements is limited by the
screen space, not all TextElements are visible at all times.
Adds a developer-defined TextElement to this Tile
.
The Text element to add.
The TextElement is always visible, if it's in the map's currently visible area.
use [[addTextElement]].
Frees the rendering resources allocated by this Tile
.
The default implementation of this method frees the geometries and the materials for all the
reachable objects.
Textures are freed if they are owned by this Tile
(i.e. if they where created by this
Tile
or if the ownership was explicitely set to this Tile
by [[addOwnedTexture]]).
Removes all TextElement from the tile.
Computes the offset in the x world coordinates corresponding to this tile, based on its offset.
The x offset.
Called after MapView has rendered this Tile
.
Compute TileResourceInfo of this Tile
.
TileResourceInfo
for this Tile
.
May be using a cached value. The method
invalidateResourceInfo
can be called beforehand to force a recalculation.
Force invalidation of the cached TileResourceInfo.
Useful after the Tile
has been
modified.
Protected
loadingCalled when TileGeometryLoader is finished.
It may be used to add content to the Tile
.
The @xyzmaps/harp-datasource-protocol#DecodedTile is still available.
Removes a TextElement from this Tile
.
The TextElement to remove.
true
if the TextElement has been removed successfully; false
otherwise.
For the element to be removed successfully, the priority of the TextElement has to be equal to its priority when it was added.
Removes a developer-defined TextElement from this Tile
.
A developer-defined TextElement to remove.
true
if the element has been removed successfully; false
otherwise.
use removeTextElement
.
Called when the default implementation of dispose()
needs
to free the geometry of a Tile
object.
The object that references the geometry.
true
if the geometry can be disposed.
Called when the default implementation of dispose()
needs
to free a Tile
object's material.
The object referencing the geometry.
true
if the material can be disposed.
Internal
Start with or continue with loading geometry for tiles requiring this step. Called repeatedly until loading is finished.
Optional
priority: numberPriority assigned to asynchronous tasks doing the geometry update.
Optional
enabledKinds: GeometryKindSetGeometryKinds that will be created.
Optional
disabledKinds: GeometryKindSetGeometryKinds that will not be created.
true
if tile uses a geometry loader, false
otherwise.
Called before MapView starts rendering this Tile
.
Returns true
if this Tile
should be rendered. Influenced directly by the
skipRendering
property unless specifically overriden in deriving classes.
Generated using TypeDoc
The class that holds the tiled data for a DataSource.