diff options
author | Mattes D <github@xoft.cz> | 2014-10-28 22:07:09 +0100 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-10-28 22:07:09 +0100 |
commit | 2f0abb73c94eb896c956ceb0375d2e72065d95d5 (patch) | |
tree | 2cf8a72a9aaf59fa218f5978045412a47662d52b /Tools/QtBiomeVisualiser/Region.h | |
parent | Forgotten m_SendChunksMediumPriority.empty() check. (diff) | |
parent | QtBiomeVisualiser: Reduced memory usage. (diff) | |
download | cuberite-2f0abb73c94eb896c956ceb0375d2e72065d95d5.tar cuberite-2f0abb73c94eb896c956ceb0375d2e72065d95d5.tar.gz cuberite-2f0abb73c94eb896c956ceb0375d2e72065d95d5.tar.bz2 cuberite-2f0abb73c94eb896c956ceb0375d2e72065d95d5.tar.lz cuberite-2f0abb73c94eb896c956ceb0375d2e72065d95d5.tar.xz cuberite-2f0abb73c94eb896c956ceb0375d2e72065d95d5.tar.zst cuberite-2f0abb73c94eb896c956ceb0375d2e72065d95d5.zip |
Diffstat (limited to 'Tools/QtBiomeVisualiser/Region.h')
-rw-r--r-- | Tools/QtBiomeVisualiser/Region.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Tools/QtBiomeVisualiser/Region.h b/Tools/QtBiomeVisualiser/Region.h new file mode 100644 index 000000000..863c0ac02 --- /dev/null +++ b/Tools/QtBiomeVisualiser/Region.h @@ -0,0 +1,46 @@ +#pragma once + +#include "QtChunk.h" + + + + + +class Region +{ +public: + Region(); + + /** Retrieves the chunk with the specified relative coords. */ + Chunk & getRelChunk(int a_RelChunkX, int a_RelChunkZ); + + /** Returns true iff the chunk data for all chunks has been loaded. + This doesn't mean that all the chunks are valid, only that the entire region has been processed and should + be displayed. */ + bool isValid(void) const { return m_IsValid; } + + /** Returns the biome in the block coords relative to this region. + Returns biInvalidBiome if the underlying chunk is not valid. */ + int getRelBiome(int a_RelBlockX, int a_RelBlockZ); + + /** Converts block coordinates into region coordinates. */ + static void blockToRegion(int a_BlockX, int a_BlockZ, int & a_RegionX, int & a_RegionZ); + + /** Converts chunk coordinates into region coordinates. */ + static void chunkToRegion(int a_ChunkX, int a_ChunkZ, int & a_RegionX, int & a_RegionZ); + +protected: + friend class RegionLoader; + + + Chunk m_Chunks[32 * 32]; + + /** True iff the data for all the chunks has been loaded. + This doesn't mean that all the chunks are valid, only that the entire region has been processed and should + be displayed. */ + bool m_IsValid; +}; + + + + |