mitk::ImageReadAccessor::ImageReadAccessor(ImagePointer image, const mitk::ImageDataItem *iDI, int OptionFlags) : ImageAccessorBase(image.GetPointer(), iDI, OptionFlags), m_Image(image.GetPointer()) { if (!(OptionFlags & ImageAccessorBase::IgnoreLock)) { try { OrganizeReadAccess(); } catch (...) { delete m_WaitLock; throw; } } }
mitk::ImageVtkWriteAccessor::ImageVtkWriteAccessor(ImagePointer iP, const mitk::ImageDataItem* iDI, vtkImageData* imageDataVtk) : ImageAccessorBase(nullptr, iDI) , m_Image(iP.GetPointer()) , m_ImageDataVtk(imageDataVtk) { m_Image->m_VtkReadersLock.Lock(); m_Image->m_VtkReaders.push_back(this); //printf("m_VtkReaders.size(): %d\n", (int) m_Image->m_VtkReaders.size()); m_Image->m_VtkReadersLock.Unlock(); }