PartitionCellCount:: PartitionCellCount(const VoxelGrid & grid, Rect3i halfCellBounds, int runlineDirection ) : mGridDescription(grid.gridDescription()), mNumCells(8), mHalfCellBounds(halfCellBounds), m_nnx(halfCellBounds.size(0)+1), m_nny(halfCellBounds.size(1)+1), m_nnz(halfCellBounds.size(2)+1) { long long allocSize = m_nnx*m_nny*m_nnz; if (mMaterialIndexHalfCells.max_size() < allocSize) { cerr << "Warning: PartitionCellCount is going to attempt to allocate a " << m_nnx << "x" << m_nny << "x" << m_nnz << " cell array with " "std::vector; the total size is " << allocSize << " and the vector" " maximum size is " << mMaterialIndexHalfCells.max_size() << ", so this will likely fail." << endl; } mMaterialIndexHalfCells.resize(m_nnx*m_nny*m_nnz); calcMaterialIndices(grid, runlineDirection); allocateAuxiliaryDataSpace(grid); }