Fixed potential bug with negative voxel positions in large volume.
See commit 1f9264a
			
			
This commit is contained in:
		| @@ -422,18 +422,25 @@ namespace PolyVox | ||||
|  | ||||
| 		this->m_regValidRegion = regValidRegion; | ||||
|  | ||||
| 		m_regValidRegionInBlocks.setLowerCorner(this->m_regValidRegion.getLowerCorner()  / static_cast<int32_t>(uBlockSideLength)); | ||||
| 		m_regValidRegionInBlocks.setUpperCorner(this->m_regValidRegion.getUpperCorner()  / static_cast<int32_t>(uBlockSideLength)); | ||||
| 		//m_regValidRegionInBlocks.setLowerCorner(this->m_regValidRegion.getLowerCorner()  / static_cast<int32_t>(uBlockSideLength)); | ||||
| 		//m_regValidRegionInBlocks.setUpperCorner(this->m_regValidRegion.getUpperCorner()  / static_cast<int32_t>(uBlockSideLength)); | ||||
| 		//Compute the block side length | ||||
| 		m_uBlockSideLength = uBlockSideLength; | ||||
| 		m_uBlockSideLengthPower = logBase2(m_uBlockSideLength); | ||||
| 		//m_regValidRegionInBlocks.setLowerX(this->m_regValidRegion.getLowerX() >> m_uBlockSideLengthPower); | ||||
| 		//m_regValidRegionInBlocks.setLowerY(this->m_regValidRegion.getLowerY() >> m_uBlockSideLengthPower); | ||||
| 		//m_regValidRegionInBlocks.setLowerZ(this->m_regValidRegion.getLowerZ() >> m_uBlockSideLengthPower); | ||||
| 		m_regValidRegionInBlocks.setLowerCorner(Vector3DInt32(this->m_regValidRegion.getLowerCorner().getX() >> m_uBlockSideLengthPower, this->m_regValidRegion.getLowerCorner().getY() >> m_uBlockSideLengthPower, this->m_regValidRegion.getLowerCorner().getZ() >> m_uBlockSideLengthPower)); | ||||
| 		//m_regValidRegionInBlocks.setUpperX(this->m_regValidRegion.getUpperX() >> m_uBlockSideLengthPower); | ||||
| 		//m_regValidRegionInBlocks.setUpperY(this->m_regValidRegion.getUpperY() >> m_uBlockSideLengthPower); | ||||
| 		//m_regValidRegionInBlocks.setUpperZ(this->m_regValidRegion.getUpperZ() >> m_uBlockSideLengthPower); | ||||
| 		m_regValidRegionInBlocks.setUpperCorner(Vector3DInt32(this->m_regValidRegion.getUpperCorner().getX() >> m_uBlockSideLengthPower, this->m_regValidRegion.getUpperCorner().getY() >> m_uBlockSideLengthPower, this->m_regValidRegion.getUpperCorner().getZ() >> m_uBlockSideLengthPower)); | ||||
|  | ||||
| 		setMaxNumberOfUncompressedBlocks(m_uMaxNumberOfUncompressedBlocks); | ||||
|  | ||||
| 		//Clear the previous data | ||||
| 		m_pBlocks.clear(); | ||||
|  | ||||
| 		//Compute the block side length | ||||
| 		m_uBlockSideLength = uBlockSideLength; | ||||
| 		m_uBlockSideLengthPower = logBase2(m_uBlockSideLength); | ||||
|  | ||||
| 		//Clear the previous data | ||||
| 		m_pBlocks.clear(); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user