#include <mesh_generator_thread.h>
Public Member Functions | |
| MeshUpdateManager (Client *client) | |
| void | updateBlock (Map *map, v3s16 p, bool ack_block_to_server, bool urgent, bool update_neighbors=false) |
| void | putResult (const MeshUpdateResult &r) |
| bool | getNextResult (MeshUpdateResult &r) |
| void | start () |
| void | stop () |
| void | wait () |
| bool | isRunning () |
Private Member Functions | |
| void | deferUpdate () |
Private Attributes | |
| MeshUpdateQueue | m_queue_in |
| MutexedQueue< MeshUpdateResult > | m_queue_out |
| MutexedQueue< MeshUpdateResult > | m_queue_out_urgent |
| std::vector< std::unique_ptr< MeshUpdateWorkerThread > > | m_workers |
| MeshUpdateManager::MeshUpdateManager | ( | Client * | client | ) |
References g_settings, Thread::getNumberOfProcessors(), infostream, m_queue_in, m_workers, and rangelim().
|
private |
| bool MeshUpdateManager::getNextResult | ( | MeshUpdateResult & | r | ) |
References m_queue_out, and m_queue_out_urgent.
| bool MeshUpdateManager::isRunning | ( | ) |
References m_workers.
| void MeshUpdateManager::putResult | ( | const MeshUpdateResult & | r | ) |
References m_queue_out, m_queue_out_urgent, and MeshUpdateResult::urgent.
| void MeshUpdateManager::start | ( | ) |
References m_workers.
| void MeshUpdateManager::stop | ( | ) |
References m_workers.
| void MeshUpdateManager::updateBlock | ( | Map * | map, |
| v3s16 | p, | ||
| bool | ack_block_to_server, | ||
| bool | urgent, | ||
| bool | update_neighbors = false ) |
References deferUpdate(), g_26dirs, g_6dirs, g_settings, m_queue_in, p(), and warningstream.
| void MeshUpdateManager::wait | ( | ) |
References m_workers.
|
private |
Referenced by MeshUpdateManager(), and updateBlock().
|
private |
Referenced by getNextResult(), and putResult().
|
private |
Referenced by getNextResult(), and putResult().
|
private |
Referenced by MeshUpdateManager(), deferUpdate(), isRunning(), start(), stop(), and wait().