24 #ifndef __PolyVox_LargeVolume_H__
25 #define __PolyVox_LargeVolume_H__
45 template <
typename VoxelType>
class ConstVolumeProxy;
158 template <
typename VoxelType>
169 #if defined(_MSC_VER)
253 uint16_t uBlockSideLength = 32
261 bool bPagingEnabled =
false,
262 uint16_t uBlockSideLength = 32
308 void initialise(
const Region& regValidRegion, uint16_t uBlockSideLength);
313 polyvox_function<void(const ConstVolumeProxy<VoxelType>&,
const Region&)> m_funcDataRequiredHandler;
318 polyvox_function<void(const ConstVolumeProxy<VoxelType>&,
const Region&)> m_funcDataOverflowHandler;
321 void eraseBlock(
typename std::map<Vector3DInt32, LoadedBlock >::iterator itBlock)
const;
326 mutable std::map<Vector3DInt32, LoadedBlock > m_pBlocks;
332 mutable std::vector< LoadedBlock* > m_vecUncompressedBlockCache;
333 mutable uint32_t m_uTimestamper;
336 uint32_t m_uMaxNumberOfUncompressedBlocks;
337 uint32_t m_uMaxNumberOfBlocksInMemory;
346 Region m_regValidRegionInBlocks;
349 uint16_t m_uBlockSideLength;
350 uint8_t m_uBlockSideLengthPower;
352 bool m_bCompressionEnabled;
353 bool m_bPagingEnabled;
360 #endif //__PolyVox_LargeVolume_H__