cesium-native 0.61.0
Loading...
Searching...
No Matches
TileUnloadQueue.h
1#pragma once
2
3#include <Cesium3DTilesSelection/Tile.h>
4
6
14class TileUnloadQueue {
15public:
16 TileUnloadQueue() noexcept = default;
17 ~TileUnloadQueue() noexcept = default;
18
19 TileUnloadQueue(const TileUnloadQueue&) = delete;
20 TileUnloadQueue& operator=(const TileUnloadQueue&) = delete;
21 TileUnloadQueue(TileUnloadQueue&&) noexcept = default;
22 TileUnloadQueue& operator=(TileUnloadQueue&&) noexcept = default;
23
28 void markEligible(Tile& tile) noexcept {
29 if (!this->_queue.contains(tile)) {
30 this->_queue.insertAtTail(tile);
31 }
32 }
33
35 void markIneligible(Tile& tile) noexcept { this->_queue.remove(tile); }
36
38 bool contains(const Tile& tile) const noexcept {
39 return this->_queue.contains(tile);
40 }
41
43 Tile* head() noexcept { return this->_queue.head(); }
44
46 Tile* next(Tile& tile) noexcept { return this->_queue.next(tile); }
47
48private:
50};
51
52} // namespace Cesium3DTilesSelection
CesiumUtility::DoublyLinkedList< Tile, &Tile::_unusedTilesLinks > UnusedLinkedList
A CesiumUtility::DoublyLinkedList for tile objects.
Definition Tile.h:720
Classes that implement the 3D Tiles standard.