#include <mesh_generator_thread.h>
◆ UpdateMode
| Enumerator |
|---|
| FORCE_UPDATE | |
| SKIP_UPDATE_IF_ALREADY_CACHED | |
◆ MeshUpdateQueue()
| MeshUpdateQueue::MeshUpdateQueue |
( |
Client * | client | ) |
|
◆ ~MeshUpdateQueue()
| MeshUpdateQueue::~MeshUpdateQueue |
( |
| ) |
|
◆ addBlock()
| bool MeshUpdateQueue::addBlock |
( |
Map * | map, |
|
|
v3s16 | p, |
|
|
bool | ack_to_server, |
|
|
bool | urgent, |
|
|
bool | from_neighbor ) |
Caches the block at p and its neighbors (if needed) and queues a mesh update for the block p.
- Parameters
-
| map | Map |
| p | block position |
| ack_to_server | Should be acked to server when done? |
| urget | High-priority? |
| from_neighbor | was this update only necessary due to a neighbor change? |
References Profiler::add(), MeshGrid::cell_size, g_profiler, Map::getBlockNoCreateNoEx(), Client::getCrackLevel(), Client::getCrackPos(), Client::getMeshGrid(), MeshGrid::getMeshPos(), m_client, m_mutex, m_queue, m_urgents, p(), and QueuedMeshUpdate::p.
Referenced by MeshUpdateManager::updateBlock().
◆ done()
| void MeshUpdateQueue::done |
( |
v3s16 | pos | ) |
|
◆ fillDataFromMapBlocks()
References QueuedMeshUpdate::crack_level, QueuedMeshUpdate::crack_pos, QueuedMeshUpdate::data, MeshMakeData::fillBlockDataBegin(), Client::getMeshGrid(), Client::getMinimap(), m_cache_enable_water_reflections, m_cache_smooth_lighting, m_client, MeshMakeData::m_enable_water_reflections, MeshMakeData::m_generate_minimap, MeshMakeData::m_smooth_lighting, MeshMakeData::m_vmanip, QueuedMeshUpdate::map_blocks, MAP_BLOCKSIZE, IGameDef::ndef(), QueuedMeshUpdate::p, and MeshMakeData::setCrack().
Referenced by pop().
◆ pop()
◆ size()
| size_t MeshUpdateQueue::size |
( |
| ) |
|
|
inline |
◆ m_cache_enable_water_reflections
| bool MeshUpdateQueue::m_cache_enable_water_reflections |
|
private |
◆ m_cache_smooth_lighting
| bool MeshUpdateQueue::m_cache_smooth_lighting |
|
private |
◆ m_client
| Client* MeshUpdateQueue::m_client |
|
private |
◆ m_inflight_blocks
| std::unordered_set<v3s16> MeshUpdateQueue::m_inflight_blocks |
|
private |
◆ m_mutex
| std::mutex MeshUpdateQueue::m_mutex |
|
private |
◆ m_queue
◆ m_urgents
| std::unordered_set<v3s16> MeshUpdateQueue::m_urgents |
|
private |
The documentation for this class was generated from the following files: