|
Cogs.Core
|
Classes | |
| struct | Processing |
Public Member Functions | |
| std::vector< RasterLevel > & | getLevels () |
| const std::vector< RasterLevel > & | getLevels () const |
| int | getTileWidth () const |
| int | getTileHeight () const |
| virtual void | requestTile (const TileLoadRequest &request)=0 |
| void | lock () |
| void | unlock () |
| TextureHandle | loadTexture (const unsigned char *data, const int width, const int height, const TextureFormat format, const size_t size) |
| void | releaseTexture (TextureHandle texture, const size_t size) |
| RasterTile * | getTile (const RasterTileIdentifier &identifier) |
| RasterTile * | getTile (const size_t id) |
| void | loadTileData (RasterTile *tile, size_t requestGeneration, std::vector< uint8_t > &data, TextureHandle textureHandle, TextureFormat format, size_t size) |
| void | invalidateTile (const RasterTileIdentifier &id, InvalidationFlags::EInvalidationFlags flags=InvalidationFlags::InvalidateParents) |
| void | cancelActiveRequests () |
| Cancels all active requests. | |
| void | purgeCache () |
| Purge all cache, including resident data. | |
| void | purgeResidentCache () |
| Purge tile data resident in memory and on the GPU. | |
| void | purgeOldData () |
| Purges orphaned tile data that has been replaced with new contents. | |
| void | releaseTileData (RasterTileData &tileData) |
| Release the given tile data. | |
| bool | tryGetTextureHandle (const RasterTile *tile, TextureHandle &handle) |
| void | updateTileUsage (const RasterTile *tile) |
| void | refTile (RasterTile *tile) |
| void | unrefTile (RasterTile *tile) |
| void | removeTileUsageData (size_t code) |
| void | removeTile (RasterTile *tile) |
| void | evictLruTile () |
| RasterTileData * | getTileData (RasterTile *tile) |
| virtual void | allocateTileStorage (const size_t textureSize, std::vector< uint8_t > &buffer)=0 |
| virtual void | deallocateTileStorage (std::vector< uint8_t > &buffer)=0 |
| void | addSubscriber (struct RasterSourceSubscription *handler) |
| void | removeSubscriber (struct RasterSourceSubscription *handler) |
| bool | hasProcessingRequests () const |
Public Attributes | |
| struct Cogs::RasterSource::Processing | processing |
| std::unordered_set< struct RasterSourceSubscription * > | subscribers |
| std::mutex | subscriberMutex |
| IGraphicsDevice * | device = nullptr |
| std::atomic< size_t > | textureBufferSize = 0 |
| TextureFormat | format = TextureFormat::Unknown |
| bool | isHeight = false |
| float | minZ = 0 |
| float | maxZ = 0 |
| std::string | name |
| std::atomic< size_t > | generation = 0 |
Protected Attributes | |
| std::vector< RasterLevel > | levels |
| int | tileLongitudePosts = 0 |
| int | tileLatitudePosts = 0 |
| TextureHandle | invalidTileHandle |
Private Attributes | |
| std::map< size_t, RasterTile > | activeTiles |
| std::map< size_t, RasterTileData > | residentTiles |
| std::vector< RasterTileData > | oldTileData |
| std::list< size_t > | lruList |
| std::map< size_t, std::list< size_t >::iterator > | lruMap |
| std::mutex | readyMutex |
Definition at line 46 of file RasterSource.h.
|
virtual |
Definition at line 17 of file RasterSource.cpp.
|
inline |
Definition at line 103 of file RasterSource.h.
| void Cogs::RasterSource::cancelActiveRequests | ( | ) |
Cancels all active requests.
Cancel all active requests. Any data received that was requested prior to a call to this method will be discarded when received.
All results returned from working requests will be discarded upon return.
Definition at line 229 of file RasterSource.cpp.
| void Cogs::RasterSource::evictLruTile | ( | ) |
Definition at line 135 of file RasterSource.cpp.
|
inline |
Definition at line 51 of file RasterSource.h.
|
inline |
Definition at line 52 of file RasterSource.h.
| Cogs::RasterTile * Cogs::RasterSource::getTile | ( | const RasterTileIdentifier & | identifier | ) |
Definition at line 32 of file RasterSource.cpp.
| Cogs::RasterTile * Cogs::RasterSource::getTile | ( | const size_t | id | ) |
Definition at line 58 of file RasterSource.cpp.
| Cogs::RasterTileData * Cogs::RasterSource::getTileData | ( | RasterTile * | tile | ) |
Definition at line 221 of file RasterSource.cpp.
|
inline |
Definition at line 55 of file RasterSource.h.
|
inline |
Definition at line 54 of file RasterSource.h.
|
inline |
Definition at line 106 of file RasterSource.h.
| void Cogs::RasterSource::invalidateTile | ( | const RasterTileIdentifier & | id, |
| InvalidationFlags::EInvalidationFlags | flags = InvalidationFlags::InvalidateParents |
||
| ) |
Definition at line 189 of file RasterSource.cpp.
| Cogs::TextureHandle Cogs::RasterSource::loadTexture | ( | const unsigned char * | data, |
| const int | width, | ||
| const int | height, | ||
| const TextureFormat | format, | ||
| const size_t | size | ||
| ) |
Definition at line 268 of file RasterSource.cpp.
| void Cogs::RasterSource::loadTileData | ( | RasterTile * | tile, |
| size_t | requestGeneration, | ||
| std::vector< uint8_t > & | data, | ||
| TextureHandle | textureHandle, | ||
| TextureFormat | format, | ||
| size_t | size | ||
| ) |
Definition at line 152 of file RasterSource.cpp.
|
inline |
Definition at line 59 of file RasterSource.h.
| void Cogs::RasterSource::purgeCache | ( | ) |
Purge all cache, including resident data.
Remove all tile data from the cache of this source.
Definition at line 237 of file RasterSource.cpp.
| void Cogs::RasterSource::purgeOldData | ( | ) |
Purges orphaned tile data that has been replaced with new contents.
Definition at line 291 of file RasterSource.cpp.
| void Cogs::RasterSource::purgeResidentCache | ( | ) |
Purge tile data resident in memory and on the GPU.
Remove all tile data from this source resident on the GPU.
Definition at line 253 of file RasterSource.cpp.
| void Cogs::RasterSource::refTile | ( | RasterTile * | tile | ) |
Definition at line 97 of file RasterSource.cpp.
| void Cogs::RasterSource::releaseTexture | ( | TextureHandle | texture, |
| const size_t | size | ||
| ) |
Definition at line 274 of file RasterSource.cpp.
| void Cogs::RasterSource::releaseTileData | ( | RasterTileData & | tileData | ) |
Release the given tile data.
Definition at line 280 of file RasterSource.cpp.
|
inline |
Definition at line 104 of file RasterSource.h.
| void Cogs::RasterSource::removeTile | ( | RasterTile * | tile | ) |
Definition at line 120 of file RasterSource.cpp.
| void Cogs::RasterSource::removeTileUsageData | ( | size_t | code | ) |
Definition at line 129 of file RasterSource.cpp.
| bool Cogs::RasterSource::tryGetTextureHandle | ( | const RasterTile * | tile, |
| TextureHandle & | handle | ||
| ) |
Definition at line 63 of file RasterSource.cpp.
|
inline |
Definition at line 60 of file RasterSource.h.
| void Cogs::RasterSource::unrefTile | ( | RasterTile * | tile | ) |
Definition at line 111 of file RasterSource.cpp.
| void Cogs::RasterSource::updateTileUsage | ( | const RasterTile * | tile | ) |
Definition at line 76 of file RasterSource.cpp.
|
private |
Definition at line 145 of file RasterSource.h.
| IGraphicsDevice* Cogs::RasterSource::device = nullptr |
Definition at line 121 of file RasterSource.h.
| TextureFormat Cogs::RasterSource::format = TextureFormat::Unknown |
Definition at line 125 of file RasterSource.h.
| std::atomic<size_t> Cogs::RasterSource::generation = 0 |
Definition at line 134 of file RasterSource.h.
|
protected |
Definition at line 142 of file RasterSource.h.
| bool Cogs::RasterSource::isHeight = false |
Definition at line 127 of file RasterSource.h.
|
protected |
Definition at line 137 of file RasterSource.h.
|
private |
Definition at line 149 of file RasterSource.h.
|
private |
Definition at line 150 of file RasterSource.h.
| float Cogs::RasterSource::maxZ = 0 |
Definition at line 130 of file RasterSource.h.
| float Cogs::RasterSource::minZ = 0 |
Definition at line 129 of file RasterSource.h.
| std::string Cogs::RasterSource::name |
Definition at line 132 of file RasterSource.h.
|
private |
Definition at line 147 of file RasterSource.h.
|
private |
Definition at line 152 of file RasterSource.h.
|
private |
Definition at line 146 of file RasterSource.h.
| std::mutex Cogs::RasterSource::subscriberMutex |
Definition at line 119 of file RasterSource.h.
| std::unordered_set<struct RasterSourceSubscription *> Cogs::RasterSource::subscribers |
Definition at line 118 of file RasterSource.h.
| std::atomic<size_t> Cogs::RasterSource::textureBufferSize = 0 |
Definition at line 123 of file RasterSource.h.
|
protected |
Definition at line 140 of file RasterSource.h.
|
protected |
Definition at line 139 of file RasterSource.h.