Mesh now cleared at start of execure(), rather than in constructor.

This commit is contained in:
David Williams 2011-11-19 00:15:08 +00:00
parent c9fdd15ba5
commit 3ae119f171
3 changed files with 7 additions and 5 deletions

View File

@ -33,12 +33,13 @@ namespace PolyVox
,m_meshCurrent(result)
,m_bMergeQuads(bMergeQuads)
{
m_meshCurrent->clear();
}
template< template<typename> class VolumeType, typename VoxelType>
void CubicSurfaceExtractor<VolumeType, VoxelType>::execute()
{
m_meshCurrent->clear();
uint32_t uArrayWidth = m_regSizeInVoxels.getUpperCorner().getX() - m_regSizeInVoxels.getLowerCorner().getX() + 2;
uint32_t uArrayHeight = m_regSizeInVoxels.getUpperCorner().getY() - m_regSizeInVoxels.getLowerCorner().getY() + 2;

View File

@ -29,13 +29,14 @@ namespace PolyVox
,m_sampVolume(volData)
,m_meshCurrent(result)
,m_regSizeInVoxels(region)
{
m_meshCurrent->clear();
{
}
template< template<typename> class VolumeType, typename VoxelType>
void CubicSurfaceExtractorWithNormals<VolumeType, VoxelType>::execute()
{
m_meshCurrent->clear();
for(int32_t z = m_regSizeInVoxels.getLowerCorner().getZ(); z < m_regSizeInVoxels.getUpperCorner().getZ(); z++)
{
for(int32_t y = m_regSizeInVoxels.getLowerCorner().getY(); y < m_regSizeInVoxels.getUpperCorner().getY(); y++)

View File

@ -33,13 +33,13 @@ namespace PolyVox
//m_regSizeInVoxels.cropTo(m_volData->getEnclosingRegion());
m_regSizeInCells = m_regSizeInVoxels;
m_regSizeInCells.setUpperCorner(m_regSizeInCells.getUpperCorner() - Vector3DInt32(1,1,1));
m_meshCurrent->clear();
}
template< template<typename> class VolumeType, typename VoxelType>
void SurfaceExtractor<VolumeType, VoxelType>::execute()
{
m_meshCurrent->clear();
uint32_t uArrayWidth = m_regSizeInVoxels.getUpperCorner().getX() - m_regSizeInVoxels.getLowerCorner().getX() + 1;
uint32_t uArrayHeight = m_regSizeInVoxels.getUpperCorner().getY() - m_regSizeInVoxels.getLowerCorner().getY() + 1;
uint32_t arraySizes[2]= {uArrayWidth, uArrayHeight}; // Array dimensions