diff options
author | Mattes D <github@xoft.cz> | 2014-09-14 01:32:00 +0200 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-09-14 01:33:05 +0200 |
commit | e3a2dc5a1391d8aaaa3fdb83e946838540a07e75 (patch) | |
tree | 1a665fcc4ae0ea097ba476f70dddb5ef03539a28 /Tools/QtBiomeVisualiser/ChunkSource.h | |
parent | OSSupport: Fixed UNICODE Windows builds. (diff) | |
download | cuberite-e3a2dc5a1391d8aaaa3fdb83e946838540a07e75.tar cuberite-e3a2dc5a1391d8aaaa3fdb83e946838540a07e75.tar.gz cuberite-e3a2dc5a1391d8aaaa3fdb83e946838540a07e75.tar.bz2 cuberite-e3a2dc5a1391d8aaaa3fdb83e946838540a07e75.tar.lz cuberite-e3a2dc5a1391d8aaaa3fdb83e946838540a07e75.tar.xz cuberite-e3a2dc5a1391d8aaaa3fdb83e946838540a07e75.tar.zst cuberite-e3a2dc5a1391d8aaaa3fdb83e946838540a07e75.zip |
Diffstat (limited to 'Tools/QtBiomeVisualiser/ChunkSource.h')
-rw-r--r-- | Tools/QtBiomeVisualiser/ChunkSource.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/Tools/QtBiomeVisualiser/ChunkSource.h b/Tools/QtBiomeVisualiser/ChunkSource.h new file mode 100644 index 000000000..d6eb2e3cb --- /dev/null +++ b/Tools/QtBiomeVisualiser/ChunkSource.h @@ -0,0 +1,60 @@ +#pragma once +#include "Chunk.h" + + + + + +// fwd: +class cBiomeGen; + + + + + +/** Abstract interface for getting biome data for chunks. */ +class ChunkSource +{ +public: + virtual ~ChunkSource() {} + + /** Fills the a_DestChunk with the biomes for the specified coords. + It is expected to be thread-safe and re-entrant. Usually QThread::idealThreadCount() threads are used. */ + virtual void getChunkBiomes(int a_ChunkX, int a_ChunkZ, ChunkPtr a_DestChunk) = 0; +}; + + + + + + +class BioGenSource : + public ChunkSource +{ +public: + /** Constructs a new BioGenSource based on the biome generator given. + Takes ownership of a_BiomeGen */ + BioGenSource(cBiomeGen * a_BiomeGen); + + virtual void getChunkBiomes(int a_ChunkX, int a_ChunkZ, ChunkPtr a_DestChunk) override; + +protected: + std::shared_ptr<cBiomeGen> m_BiomeGen; + QMutex m_Mtx; +}; + + + + +class AnvilSource : + public ChunkSource +{ +public: + // TODO + + virtual void getChunkBiomes(int a_ChunkX, int a_ChunkZ, ChunkPtr a_DestChunk) override; +}; + + + + |