SourceXtractorPlusPlus
0.15
Please provide a description of the project.
|
#include <TileManager.h>
Public Member Functions | |
TileManager () | |
virtual | ~TileManager () |
void | setOptions (int tile_width, int tile_height, int max_memory) |
void | flush () |
std::shared_ptr< ImageTile > | getTileForPixel (int x, int y, std::shared_ptr< const ImageSource > source) |
void | saveAllTiles () |
int | getTileWidth () const |
int | getTileHeight () const |
Static Public Member Functions | |
static std::shared_ptr < TileManager > | getInstance () |
Private Member Functions | |
std::shared_ptr< ImageTile > | tryTileFromCache (const TileKey &key) |
std::shared_ptr< boost::mutex > & | getMutexForImageSource (const ImageSource *) |
void | removeTile (TileKey tile_key) |
void | removeExtraTiles () |
void | addTile (TileKey key, std::shared_ptr< ImageTile > tile) |
Private Attributes | |
int | m_tile_width |
int | m_tile_height |
long | m_max_memory |
long | m_total_memory_used |
std::unordered_map< TileKey, std::shared_ptr< ImageTile > > | m_tile_map |
std::unordered_map< const ImageSource *, std::shared_ptr < boost::mutex > > | m_mutex_map |
std::list< TileKey > | m_tile_list |
boost::shared_mutex | m_mutex |
Definition at line 75 of file TileManager.h.
SourceXtractor::TileManager::TileManager | ( | ) |
Definition at line 42 of file TileManager.cpp.
|
virtual |
Definition at line 46 of file TileManager.cpp.
References saveAllTiles().
|
private |
Definition at line 181 of file TileManager.cpp.
References Elements::Logging::debug(), m_tile_list, m_tile_map, m_total_memory_used, and SourceXtractor::s_tile_logger.
Referenced by getTileForPixel().
void SourceXtractor::TileManager::flush | ( | ) |
Definition at line 59 of file TileManager.cpp.
References m_mutex, m_tile_list, m_tile_map, m_total_memory_used, and saveAllTiles().
Referenced by setOptions().
|
static |
Definition at line 136 of file TileManager.cpp.
References SourceXtractor::s_instance.
Referenced by SourceXtractor::BFSSegmentation::getTiles(), SourceXtractor::Lutz::labelImage(), SEMain::mainMethod(), and TestImage::mainMethod().
|
private |
Definition at line 90 of file TileManager.cpp.
References m_mutex, and m_mutex_map.
Referenced by getTileForPixel().
std::shared_ptr< ImageTile > SourceXtractor::TileManager::getTileForPixel | ( | int | x, |
int | y, | ||
std::shared_ptr< const ImageSource > | source | ||
) |
Definition at line 100 of file TileManager.cpp.
References addTile(), std::shared_ptr::get(), getMutexForImageSource(), m_mutex, m_tile_height, m_tile_width, std::min(), removeExtraTiles(), std::static_pointer_cast(), tryTileFromCache(), x, and y.
int SourceXtractor::TileManager::getTileHeight | ( | ) | const |
Definition at line 155 of file TileManager.cpp.
References m_tile_height.
int SourceXtractor::TileManager::getTileWidth | ( | ) | const |
Definition at line 151 of file TileManager.cpp.
References m_tile_width.
|
private |
Definition at line 172 of file TileManager.cpp.
References m_max_memory, m_tile_list, m_total_memory_used, and removeTile().
Referenced by getTileForPixel().
|
private |
Definition at line 159 of file TileManager.cpp.
References Elements::Logging::debug(), m_tile_map, m_total_memory_used, and SourceXtractor::s_tile_logger.
Referenced by removeExtraTiles().
void SourceXtractor::TileManager::saveAllTiles | ( | ) |
Definition at line 143 of file TileManager.cpp.
References m_mutex, m_tile_list, and m_tile_map.
Referenced by flush(), and ~TileManager().
void SourceXtractor::TileManager::setOptions | ( | int | tile_width, |
int | tile_height, | ||
int | max_memory | ||
) |
Definition at line 50 of file TileManager.cpp.
References flush(), m_max_memory, m_mutex, m_tile_height, and m_tile_width.
|
private |
Definition at line 74 of file TileManager.cpp.
References Elements::Logging::debug(), std::dynamic_pointer_cast(), m_mutex, m_tile_map, and SourceXtractor::s_tile_logger.
Referenced by getTileForPixel().
|
private |
Definition at line 111 of file TileManager.h.
Referenced by removeExtraTiles(), and setOptions().
|
private |
Definition at line 118 of file TileManager.h.
Referenced by flush(), getMutexForImageSource(), getTileForPixel(), saveAllTiles(), setOptions(), and tryTileFromCache().
|
private |
Definition at line 115 of file TileManager.h.
Referenced by getMutexForImageSource().
|
private |
Definition at line 110 of file TileManager.h.
Referenced by getTileForPixel(), getTileHeight(), and setOptions().
Definition at line 116 of file TileManager.h.
Referenced by addTile(), flush(), removeExtraTiles(), and saveAllTiles().
|
private |
Definition at line 114 of file TileManager.h.
Referenced by addTile(), flush(), removeTile(), saveAllTiles(), and tryTileFromCache().
|
private |
Definition at line 110 of file TileManager.h.
Referenced by getTileForPixel(), getTileWidth(), and setOptions().
|
private |
Definition at line 112 of file TileManager.h.
Referenced by addTile(), flush(), removeExtraTiles(), and removeTile().