3#include <Cesium3DTilesSelection/TileLoadRequester.h>
4#include <Cesium3DTilesSelection/TileLoadTask.h>
5#include <Cesium3DTilesSelection/TileSelectionState.h>
6#include <Cesium3DTilesSelection/ViewUpdateResult.h>
7#include <CesiumUtility/CreditReferencer.h>
8#include <CesiumUtility/IntrusivePointer.h>
9#include <CesiumUtility/TreeTraversalState.h>
12#include <unordered_map>
19class TilesetContentManager;
20class TilesetFrameState;
84 TraversalState& getTraversalState() noexcept {
return this->_traversalState; }
88 return this->_traversalState;
222 double _weight = 1.0;
223 std::vector<TileLoadTask> _mainThreadLoadQueue;
224 std::vector<TileLoadTask> _workerThreadLoadQueue;
225 size_t _tilesAlreadyLoadingOrUnloading = 0;
226 float _loadProgressPercentage = 0.0f;
The base class for something that requests loading of specific tiles from a 3D Tiles Tileset.
Captures information about the current frame during a call to Tileset::updateViewGroup.
Represents a group of views that collectively select tiles from a particular Tileset.
float getPreviousLoadProgressPercentage() const
Gets the previous load progress percentage for this view group as of the last time it was updated.
bool hasMoreTilesToLoadInMainThread() const override
Tile * getNextTileToLoadInWorkerThread() override
void addToLoadQueue(const TileLoadTask &task)
Adds a tile load task to this view group's load queue.
void finishFrame(const Tileset &tileset, const TilesetFrameState &frameState)
Finishes the current frame by making the current tile selection state the previous one and releasing ...
size_t restoreTileLoadQueueCheckpoint(const LoadQueueCheckpoint &checkpoint)
Restores a previously-saved checkpoint of the tile load queue associated with this view group.
void startNewFrame(const Tileset &tileset, const TilesetFrameState &frameState)
Starts a new frame, clearing the set of tiles to be loaded so that a new set can be selected.
double getWeight() const override
Tile * getNextTileToLoadInMainThread() override
TilesetViewGroup() noexcept
Constructs a new instance.
const TraversalState & getTraversalState() const noexcept
Gets an object used to track the selection state of tiles as they are traversed for this view group.
void setWeight(double weight) noexcept
Sets the weight of this view group relative to other tile requesters.
LoadQueueCheckpoint saveTileLoadQueueCheckpoint()
Saves a checkpoint of the tile load queue associated with this view group.
bool hasMoreTilesToLoadInWorkerThread() const override
size_t getMainThreadLoadQueueLength() const
Gets the number of tiles that are currently in the queue waiting to be loaded in the main thread.
size_t getWorkerThreadLoadQueueLength() const
Gets the number of tiles that are currently in the queue waiting to be loaded in the worker thread.
A 3D Tiles tileset, used for streaming massive heterogeneous 3D geospatial datasets.
Reports the results of Tileset::updateViewGroup.
Provides a way to reference a set of credits in a CreditSystem so that the references can easily be r...
Classes that implement the 3D Tiles standard.
Represents the need to load a particular Cesium3DTilesSelection::Tile with a particular priority.
A checkpoint within this view group's load queue.