24 #ifndef __PolyVox_LargeVolume_H__
25 #define __PolyVox_LargeVolume_H__
45 template <
typename VoxelType>
class ConstVolumeProxy;
158 template <
typename VoxelType>
170 #if defined(_MSC_VER)
263 bool bPagingEnabled =
false,
313 struct BlockPositionCompare
318 for(
uint32_t ct = 0; ct < size; ++ct)
328 void initialise(
const Region& regValidRegion,
uint16_t uBlockSideLength);
333 polyvox_function<void(const ConstVolumeProxy<VoxelType>&,
const Region&)> m_funcDataRequiredHandler;
338 polyvox_function<void(const ConstVolumeProxy<VoxelType>&,
const Region&)> m_funcDataOverflowHandler;
341 void eraseBlock(
typename std::map<Vector3DInt32, LoadedBlock, BlockPositionCompare>::iterator itBlock)
const;
346 mutable std::map<Vector3DInt32, LoadedBlock, BlockPositionCompare> m_pBlocks;
352 mutable std::vector< LoadedBlock* > m_vecUncompressedBlockCache;
355 mutable Block<VoxelType>* m_pLastAccessedBlock;
356 uint32_t m_uMaxNumberOfUncompressedBlocks;
357 uint32_t m_uMaxNumberOfBlocksInMemory;
360 Region m_regValidRegionInBlocks;
364 uint8_t m_uBlockSideLengthPower;
367 Compressor* m_pCompressor;
369 bool m_bPagingEnabled;
376 #endif //__PolyVox_LargeVolume_H__