More validation of block sizes.

This commit is contained in:
David Williams 2012-04-09 11:00:35 +02:00
parent e7f7e980b4
commit 15cd5d90f4

View File

@ -177,12 +177,18 @@ namespace PolyVox
void SimpleVolume<VoxelType>::resize(const Region& regValidRegion, uint16_t uBlockSideLength)
{
//Debug mode validation
assert(uBlockSideLength > 0);
assert(uBlockSideLength >= 8);
assert(uBlockSideLength <= 256);
assert(isPowerOf2(uBlockSideLength));
//Release mode validation
if(uBlockSideLength == 0)
if(uBlockSideLength < 8)
{
throw std::invalid_argument("Block side length cannot be zero.");
throw std::invalid_argument("Block side length should be at least 8");
}
if(uBlockSideLength > 256)
{
throw std::invalid_argument("Block side length should not be more than 256");
}
if(!isPowerOf2(uBlockSideLength))
{