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>
19 class RasterOverlayTileProvider;
126 const glm::dvec2& targetScreenPixels,
136 return *this->_pTileProvider;
143 return *this->_pTileProvider;
161 return this->_rectangle;
172 return this->_targetScreenPixels;
183 const std::vector<CesiumUtility::Credit>&
getCredits() const noexcept {
184 return this->_tileCredits;
197 return this->_pImage;
209 return this->_pImage;
227 return this->_pRendererResources;
236 this->_pRendererResources = pValue;
244 return this->_moreDetailAvailable;
250 void setState(
LoadState newState) noexcept;
258 glm::dvec2 _targetScreenPixels;
260 std::vector<CesiumUtility::Credit> _tileCredits;
263 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 * getRendererResources() const noexcept
Returns the renderer resources that have been created for this tile.
void setRendererResources(void *pValue) noexcept
Set the renderer resources for this tile.
const CesiumGeometry::Rectangle & getRectangle() const noexcept
Returns the CesiumGeometry::Rectangle that defines the bounds of this tile in the raster overlay's pr...
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< const CesiumGltf::ImageAsset > getImage() const 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.
RasterOverlayTile(RasterOverlayTileProvider &tileProvider, const glm::dvec2 &targetScreenPixels, const CesiumGeometry::Rectangle &imageryRectangle) noexcept
Creates a new instance.
RasterOverlayTileProvider & getTileProvider() noexcept
Returns the RasterOverlayTileProvider that created this instance.
const RasterOverlayTileProvider & getTileProvider() const noexcept
Returns the RasterOverlayTileProvider that created this instance.
void loadInMainThread()
Create the renderer resources for the loaded image.
const std::vector< CesiumUtility::Credit > & getCredits() const noexcept
Returns the list of Credits needed for this tile.
RasterOverlay & getOverlay() noexcept
Returns the RasterOverlay that created this instance.
CesiumUtility::IntrusivePointer< CesiumGltf::ImageAsset > getImage() noexcept
Returns the image data for the tile.
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 Tileset. The image may be very,...
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.