| 31 | #include <mitkImageVtkWriteAccessor.h> |
| 32 | |
| 33 | mitk::ImageDataItem::ImageDataItem(const ImageDataItem &aParent, |
| 34 | const mitk::ImageDescriptor::Pointer desc, |
| 35 | int timestep, |
| 36 | unsigned int dimension, |
| 37 | void *data, |
| 38 | bool manageMemory, |
| 39 | size_t offset) |
| 40 | : m_Data(static_cast<unsigned char *>(aParent.m_Data) + offset), |
| 41 | m_PixelType(new mitk::PixelType(aParent.GetPixelType())), |
| 42 | m_ManageMemory(false), |
| 43 | m_VtkImageData(nullptr), |
| 44 | m_VtkImageReadAccessor(nullptr), |
| 45 | m_VtkImageWriteAccessor(nullptr), |
| 46 | m_Offset(offset), |
| 47 | m_IsComplete(false), |
| 48 | m_Size(0), |
| 49 | m_Parent(&aParent), |
| 50 | m_Dimension(dimension), |
| 51 | m_Timestep(timestep) |
| 52 | { |
| 53 | // compute size |
| 54 | // const unsigned int *dims = desc->GetDimensions(); |
| 55 | for (unsigned int i = 0; i < dimension; i++) |
| 56 | { |
| 57 | m_Dimensions[i] = desc->GetDimensions()[i]; |
| 58 | } |
| 59 | this->ComputeItemSize(m_Dimensions, dimension); |
| 60 | |
| 61 | if (data != nullptr && data != m_Data) |
| 62 | { |
| 63 | memcpy(m_Data, data, m_Size); |
| 64 | if (manageMemory) |
| 65 | { |
| 66 | delete[](unsigned char *) data; |
| 67 | } |
| 68 | } |
| 69 | |
| 70 | m_ReferenceCount = 0; |
| 71 | } |
| 72 | |
| 73 | mitk::ImageDataItem::~ImageDataItem() |
| 74 | { |
nothing calls this directly
no test coverage detected