diff --git a/library/PolyVoxCore/CMakeLists.txt b/library/PolyVoxCore/CMakeLists.txt index c8b13071..486cdf97 100644 --- a/library/PolyVoxCore/CMakeLists.txt +++ b/library/PolyVoxCore/CMakeLists.txt @@ -38,7 +38,6 @@ SET(CORE_INC_FILES include/PolyVoxCore/BaseVolume.h include/PolyVoxCore/BaseVolume.inl include/PolyVoxCore/BaseVolumeSampler.inl - include/PolyVoxCore/Block.h include/PolyVoxCore/CubicSurfaceExtractor.h include/PolyVoxCore/CubicSurfaceExtractor.inl include/PolyVoxCore/DefaultIsQuadNeeded.h diff --git a/library/PolyVoxCore/include/PolyVoxCore/Block.h b/library/PolyVoxCore/include/PolyVoxCore/Block.h deleted file mode 100644 index e2bb16cb..00000000 --- a/library/PolyVoxCore/include/PolyVoxCore/Block.h +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* -Copyright (c) 2005-2013 David Williams and Matthew Williams - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*******************************************************************************/ - -#ifndef __PolyVox_Block_H__ -#define __PolyVox_Block_H__ - -#include "PolyVoxCore/Impl/TypeDef.h" - -#include "PolyVoxCore/PolyVoxForwardDeclarations.h" -#include "PolyVoxCore/Vector.h" - -#include -#include - -namespace PolyVox -{ - template - class Block - { - friend class LargeVolume; - - public: - Block() - :m_uBlockLastAccessed(0) - ,m_bDataModified(true) - { - } - - protected: - // This is updated by the LargeVolume and used to discard the least recently used blocks. - uint32_t m_uBlockLastAccessed; - - // This is so we can tell whether a uncompressed block has to be recompressed and whether - // a compressed block has to be paged back to disk, or whether they can just be discarded. - bool m_bDataModified; - - private: - /// Private copy constructor to prevent accisdental copying - Block(const Block& /*rhs*/) {}; - - /// Private assignment operator to prevent accisdental copying - Block& operator=(const Block& /*rhs*/) {}; - }; -} - -#endif diff --git a/library/PolyVoxCore/include/PolyVoxCore/FilePager.h b/library/PolyVoxCore/include/PolyVoxCore/FilePager.h index 5e0a6081..8e3e36ed 100644 --- a/library/PolyVoxCore/include/PolyVoxCore/FilePager.h +++ b/library/PolyVoxCore/include/PolyVoxCore/FilePager.h @@ -34,6 +34,7 @@ freely, subject to the following restrictions: #include #include #include +#include namespace PolyVox { diff --git a/library/PolyVoxCore/include/PolyVoxCore/LargeVolume.h b/library/PolyVoxCore/include/PolyVoxCore/LargeVolume.h index f4a0d67e..57e90120 100644 --- a/library/PolyVoxCore/include/PolyVoxCore/LargeVolume.h +++ b/library/PolyVoxCore/include/PolyVoxCore/LargeVolume.h @@ -25,9 +25,9 @@ freely, subject to the following restrictions: #define __PolyVox_LargeVolume_H__ #include "PolyVoxCore/BaseVolume.h" -#include "PolyVoxCore/Block.h" #include "PolyVoxCore/Pager.h" #include "PolyVoxCore/Region.h" +#include "PolyVoxCore/UncompressedBlock.h" #include "PolyVoxCore/Vector.h" #include diff --git a/library/PolyVoxCore/include/PolyVoxCore/UncompressedBlock.h b/library/PolyVoxCore/include/PolyVoxCore/UncompressedBlock.h index 54a1aacb..a0ed3c75 100644 --- a/library/PolyVoxCore/include/PolyVoxCore/UncompressedBlock.h +++ b/library/PolyVoxCore/include/PolyVoxCore/UncompressedBlock.h @@ -24,12 +24,13 @@ freely, subject to the following restrictions: #ifndef __PolyVox_UncompressedBlock_H__ #define __PolyVox_UncompressedBlock_H__ -#include "PolyVoxCore/Block.h" +#include "PolyVoxCore/PolyVoxForwardDeclarations.h" +#include "PolyVoxCore/Vector.h" namespace PolyVox { template - class UncompressedBlock : public Block + class UncompressedBlock { friend class LargeVolume; @@ -53,6 +54,13 @@ namespace PolyVox /// Private assignment operator to prevent accisdental copying UncompressedBlock& operator=(const UncompressedBlock& /*rhs*/) {}; + // This is updated by the LargeVolume and used to discard the least recently used blocks. + uint32_t m_uBlockLastAccessed; + + // This is so we can tell whether a uncompressed block has to be recompressed and whether + // a compressed block has to be paged back to disk, or whether they can just be discarded. + bool m_bDataModified; + // Made this private for consistancy with CompressedBlock. // Users shouldn't really need this for UncompressedBlock anyway. uint32_t calculateSizeInBytes(void); diff --git a/library/PolyVoxCore/include/PolyVoxCore/UncompressedBlock.inl b/library/PolyVoxCore/include/PolyVoxCore/UncompressedBlock.inl index 2239b267..d5252d2c 100644 --- a/library/PolyVoxCore/include/PolyVoxCore/UncompressedBlock.inl +++ b/library/PolyVoxCore/include/PolyVoxCore/UncompressedBlock.inl @@ -27,7 +27,9 @@ namespace PolyVox { template UncompressedBlock::UncompressedBlock(uint16_t uSideLength) - :m_tData(0) + :m_uBlockLastAccessed(0) + ,m_bDataModified(true) + ,m_tData(0) ,m_uSideLength(0) ,m_uSideLengthPower(0) {