diff options
author | Mattes D <github@xoft.cz> | 2014-10-27 23:58:09 +0100 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-10-27 23:58:09 +0100 |
commit | c53b7e5d38c24bce7ba55abf3060ffd012783086 (patch) | |
tree | e592eeadadbd41cede746f8729bd70c275552eb5 /Tools/QtBiomeVisualiser/ChunkCache.h | |
parent | Fixed typo. (diff) | |
download | cuberite-c53b7e5d38c24bce7ba55abf3060ffd012783086.tar cuberite-c53b7e5d38c24bce7ba55abf3060ffd012783086.tar.gz cuberite-c53b7e5d38c24bce7ba55abf3060ffd012783086.tar.bz2 cuberite-c53b7e5d38c24bce7ba55abf3060ffd012783086.tar.lz cuberite-c53b7e5d38c24bce7ba55abf3060ffd012783086.tar.xz cuberite-c53b7e5d38c24bce7ba55abf3060ffd012783086.tar.zst cuberite-c53b7e5d38c24bce7ba55abf3060ffd012783086.zip |
Diffstat (limited to 'Tools/QtBiomeVisualiser/ChunkCache.h')
-rw-r--r-- | Tools/QtBiomeVisualiser/ChunkCache.h | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/Tools/QtBiomeVisualiser/ChunkCache.h b/Tools/QtBiomeVisualiser/ChunkCache.h deleted file mode 100644 index 8d198f02f..000000000 --- a/Tools/QtBiomeVisualiser/ChunkCache.h +++ /dev/null @@ -1,72 +0,0 @@ -#pragma once - -#include <QObject> -#include <QCache> -#include <QMutex> -#include <memory> - - - - - -class Chunk; -typedef std::shared_ptr<Chunk> ChunkPtr; - -class ChunkSource; - - - - - -/** Caches chunk data for reuse */ -class ChunkCache : - public QObject -{ - typedef QObject super; - Q_OBJECT - -public: - explicit ChunkCache(QObject * parent = NULL); - - /** Retrieves the specified chunk from the cache. - Only returns valid chunks; if the chunk is invalid, queues it for rendering and returns an empty ptr. */ - ChunkPtr fetch(int a_ChunkX, int a_ChunkZ); - - /** Replaces the chunk source used by the biome view to get the chunk biome data. - The cache is then invalidated. */ - void setChunkSource(std::shared_ptr<ChunkSource> a_ChunkSource); - - /** Returns true iff the chunk source has been initialized. */ - bool hasData() const { return (m_ChunkSource.get() != nullptr); } - - /** Reloads the current chunk source. */ - void reload(); - -signals: - void chunkAvailable(int a_ChunkX, int a_ChunkZ); - -protected slots: - void gotChunk(int a_ChunkX, int a_ChunkZ); - -protected: - /** The cache of the chunks */ - QCache<quint32, ChunkPtr> m_Cache; - - /** Locks te cache against multithreaded access */ - QMutex m_Mtx; - - /** The source used to get the biome data. */ - std::shared_ptr<ChunkSource> m_ChunkSource; - - - /** Returns the hash used by the chunk in the cache */ - quint32 getChunkHash(int a_ChunkX, int a_ChunkZ); - - /** Queues the specified chunk for rendering by m_ChunkSource. */ - void queueChunkRender(int a_ChunkX, int a_ChunkZ, ChunkPtr & a_Chunk); -}; - - - - - |