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.