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>
125 RasterOverlayTileProvider& tileProvider,
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.
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.
Basic geometry classes for Cesium.
Classes for raster overlays, which allow draping massive 2D textures over a model.
Utility classes for Cesium.
ReferenceCounted< T, false > ReferenceCountedNonThreadSafe
A reference-counted base class, meant to be used with IntrusivePointer. The reference count is not th...
Represents an HTML string that should be shown on screen to attribute third parties for used data,...