3#include <CesiumAsync/AsyncSystem.h>
4#include <CesiumAsync/IAssetRequest.h>
5#include <CesiumGeometry/Rectangle.h>
6#include <CesiumGltf/Model.h>
7#include <CesiumUtility/IntrusivePointer.h>
8#include <CesiumUtility/ReferenceCounted.h>
19class RasterOverlayTileProvider;
126 const glm::dvec2& targetScreenPixels,
136 return *this->_pTileProvider;
143 return *this->_pTileProvider;
161 return this->_rectangle;
172 return this->_targetScreenPixels;
184 const std::vector<CesiumUtility::Credit>&
getCredits() const noexcept {
185 return this->_tileCredits;
198 return this->_pImage;
210 return this->_pImage;
228 return this->_pRendererResources;
237 this->_pRendererResources = pValue;
245 return this->_moreDetailAvailable;
251 void setState(
LoadState newState)
noexcept;
259 glm::dvec2 _targetScreenPixels;
261 std::vector<CesiumUtility::Credit> _tileCredits;
264 void* _pRendererResources;
Provides individual tiles for a RasterOverlay on demand.
Raster image data for a tile in a quadtree.
RasterOverlayTile(RasterOverlayTileProvider &tileProvider) noexcept
Constructs a placeholder tile for the tile provider.
void setRendererResources(void *pValue) noexcept
Set the renderer resources for this tile.
const std::vector< CesiumUtility::Credit > & getCredits() const noexcept
Returns the list of Credits needed for this tile.
CesiumUtility::IntrusivePointer< const CesiumGltf::ImageAsset > getImage() const noexcept
Returns the image data for the tile.
void * getRendererResources() const noexcept
Returns the renderer resources that have been created for this tile.
const RasterOverlayTileProvider & getTileProvider() const noexcept
Returns the RasterOverlayTileProvider that created this instance.
glm::dvec2 getTargetScreenPixels() const noexcept
Gets the number of screen pixels in each direction that should be covered by this tile's texture.
CesiumUtility::IntrusivePointer< CesiumGltf::ImageAsset > getImage() noexcept
Returns the image data for the tile.
~RasterOverlayTile()
Default destructor.
MoreDetailAvailable isMoreDetailAvailable() const noexcept
Determines if more detailed data is available for the spatial area covered by this tile.
RasterOverlayTileProvider & getTileProvider() noexcept
Returns the RasterOverlayTileProvider that created this instance.
RasterOverlayTile(RasterOverlayTileProvider &tileProvider, const glm::dvec2 &targetScreenPixels, const CesiumGeometry::Rectangle &imageryRectangle) noexcept
Creates a new instance.
const CesiumGeometry::Rectangle & getRectangle() const noexcept
Returns the CesiumGeometry::Rectangle that defines the bounds of this tile in the raster overlay's pr...
RasterOverlay & getOverlay() noexcept
Returns the RasterOverlay that created this instance.
void loadInMainThread()
Create the renderer resources for the loaded image.
LoadState getState() const noexcept
Returns the current LoadState.
LoadState
Lifecycle states of a raster overlay tile.
@ Loading
The request for loading the image data is still pending.
@ Placeholder
Indicator for a placeholder tile.
@ Loaded
The image data has been loaded and the image has been created.
@ Unloaded
The initial state.
@ Failed
The image request or image creation failed.
@ Done
The rendering resources for the image data have been created.
MoreDetailAvailable
Tile availability states.
@ Unknown
It is not known whether more detailed raster tiles are available.
@ Yes
There are more detailed raster tiles.
@ No
There are no more detailed raster tiles.
The base class for a rasterized image that can be draped over a Cesium3DTilesSelection::Tileset....
A smart pointer that calls addReference and releaseReference on the controlled object.
A reference-counted base class, meant to be used with IntrusivePointer.
Basic geometry classes for Cesium.
Classes for raster overlays, which allow draping massive 2D textures over a model.
Utility classes for Cesium.