diff options
author | Willem Jan Palenstijn <wjp@usecode.org> | 2017-02-09 18:01:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-09 18:01:03 +0100 |
commit | 981d6adc0e3c98a67403b92b1ec4cdb881c62fda (patch) | |
tree | cccde0fd4a3a2d92919338df4e162c9abfd079e1 /src/Float32VolumeData3DMemory.cpp | |
parent | 03c3e5b5043cc8cba9aceeb8641d497edd1be7cf (diff) | |
parent | 4c665b0d5af3841f20501a5dc01a23e671367856 (diff) | |
download | astra-981d6adc0e3c98a67403b92b1ec4cdb881c62fda.tar.gz astra-981d6adc0e3c98a67403b92b1ec4cdb881c62fda.tar.bz2 astra-981d6adc0e3c98a67403b92b1ec4cdb881c62fda.tar.xz astra-981d6adc0e3c98a67403b92b1ec4cdb881c62fda.zip |
Merge pull request #93 from wjp/GPULink
GPULink support
Diffstat (limited to 'src/Float32VolumeData3DMemory.cpp')
-rw-r--r-- | src/Float32VolumeData3DMemory.cpp | 92 |
1 files changed, 1 insertions, 91 deletions
diff --git a/src/Float32VolumeData3DMemory.cpp b/src/Float32VolumeData3DMemory.cpp index ba39eaa..27ae87b 100644 --- a/src/Float32VolumeData3DMemory.cpp +++ b/src/Float32VolumeData3DMemory.cpp @@ -114,103 +114,13 @@ bool CFloat32VolumeData3DMemory::initialize(CVolumeGeometry3D* _pGeometry, float } //---------------------------------------------------------------------------------------- // Initialization -bool CFloat32VolumeData3DMemory::initialize(CVolumeGeometry3D* _pGeometry, CFloat32CustomMemory* _pCustomMemory) +bool CFloat32VolumeData3DMemory::initialize(CVolumeGeometry3D* _pGeometry, CFloat32CustomMemory* _pCustomMemory) { m_pGeometry = _pGeometry->clone(); m_bInitialized = _initialize(m_pGeometry->getGridColCount(), m_pGeometry->getGridRowCount(), m_pGeometry->getGridSliceCount(), _pCustomMemory); return m_bInitialized; } - -//---------------------------------------------------------------------------------------- -// Fetch a slice -CFloat32VolumeData2D * CFloat32VolumeData3DMemory::fetchSliceZ(int _iSliceIndex) const -{ - // fetch slice of the geometry - int iRowCount = m_pGeometry->getGridRowCount(); - int iColumnCount = m_pGeometry->getGridColCount(); - CVolumeGeometry2D volGeom(iColumnCount, iRowCount); - - // create new volume data - CFloat32VolumeData2D* res = new CFloat32VolumeData2D(&volGeom); - - // copy data - float * pfTargetData = res->getData(); - for(int iRowIndex = 0; iRowIndex < iRowCount; iRowIndex++) - { - for(int iColumnIndex = 0; iColumnIndex < iColumnCount; iColumnIndex++) - { - int iSourceIndex = _iSliceIndex * iColumnCount * iRowCount + iRowIndex * iColumnCount + iColumnIndex; - int iTargetIndex = iRowIndex * iColumnCount + iColumnIndex; - float fStoredValue = m_pfData[iSourceIndex]; - pfTargetData[iTargetIndex] = fStoredValue; - } - } - // return - return res; -} - -//---------------------------------------------------------------------------------------- -// Return a slice -void CFloat32VolumeData3DMemory::returnSliceZ(int _iSliceIndex, CFloat32VolumeData2D * _pSlice) -{ - int iRowCount = _pSlice->getGeometry()->getGridRowCount(); - int iColumnCount = _pSlice->getGeometry()->getGridColCount(); - - assert(iRowCount == m_pGeometry->getGridRowCount()); - assert(iColumnCount == m_pGeometry->getGridColCount()); - - for(int iRowIndex = 0; iRowIndex < iRowCount; iRowIndex++) - { - for(int iColumnIndex = 0; iColumnIndex < iColumnCount; iColumnIndex++) - { - int iSourceIndex = iRowIndex * iColumnCount + iColumnIndex; - int iTargetIndex = _iSliceIndex * iColumnCount * iRowCount + iRowIndex * iColumnCount + iColumnIndex; - float fStoredValue = _pSlice->getDataConst()[iSourceIndex]; - m_pfData[iTargetIndex] = fStoredValue; - } - } -} - -CFloat32VolumeData2D * CFloat32VolumeData3DMemory::fetchSliceX(int _iColumnIndex) const -{ - // TODO: - assert(false); - return NULL; -} - -CFloat32VolumeData2D * CFloat32VolumeData3DMemory::fetchSliceY(int _iRowIndex) const -{ - // TODO: - assert(false); - return NULL; -} - -void CFloat32VolumeData3DMemory::returnSliceX(int _iColumnIndex, CFloat32VolumeData2D * _pSliceData) -{ - // TODO: - assert(false); -} - -void CFloat32VolumeData3DMemory::returnSliceY(int _iRowIndex, CFloat32VolumeData2D * _pSliceData) -{ - // TODO: - assert(false); -} - -//---------------------------------------------------------------------------------------- -// Returns a specific value -float32 CFloat32VolumeData3DMemory::getVoxelValue(int _iIndex) -{ - return m_pfData[_iIndex]; -} - -//---------------------------------------------------------------------------------------- -// Sets a specific value -void CFloat32VolumeData3DMemory::setVoxelValue(int _iIndex, float32 _fValue) -{ - m_pfData[_iIndex] = _fValue; -} //---------------------------------------------------------------------------------------- CFloat32VolumeData3DMemory& CFloat32VolumeData3DMemory::operator=(const CFloat32VolumeData3DMemory& _dataIn) |