Mercurial > hg > orthanc-stone
diff Framework/Volumes/ImageBuffer3D.h @ 87:4a541cd4fa83 wasm
OrthancVolumeImageLoader
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 26 May 2017 15:31:58 +0200 |
parents | c2dc924f1a63 |
children | e0ddd8cad909 |
line wrap: on
line diff
--- a/Framework/Volumes/ImageBuffer3D.h Fri May 26 13:42:50 2017 +0200 +++ b/Framework/Volumes/ImageBuffer3D.h Fri May 26 15:31:58 2017 +0200 @@ -27,22 +27,11 @@ #include "../../Resources/Orthanc/Core/Images/Image.h" -#include <boost/thread/shared_mutex.hpp> - -#if defined(_WIN32) -# include <boost/thread/win32/mutex.hpp> -#endif - namespace OrthancStone { class ImageBuffer3D : public boost::noncopyable { private: - typedef boost::shared_mutex Mutex; - typedef boost::unique_lock<Mutex> WriteLock; - typedef boost::shared_lock<Mutex> ReadLock; - - Mutex mutex_; SliceGeometry axialGeometry_; Vector voxelDimensions_; Orthanc::Image image_; @@ -107,7 +96,6 @@ class SliceReader : public boost::noncopyable { private: - ReadLock lock_; Orthanc::ImageAccessor accessor_; std::auto_ptr<Orthanc::Image> sagittal_; // Unused for axial and coronal @@ -126,7 +114,7 @@ class SliceWriter : public boost::noncopyable { private: - WriteLock lock_; + bool modified_; Orthanc::ImageAccessor accessor_; std::auto_ptr<Orthanc::Image> sagittal_; // Unused for axial and coronal @@ -142,8 +130,14 @@ Flush(); } + const Orthanc::ImageAccessor& GetAccessor() const + { + return accessor_; + } + Orthanc::ImageAccessor& GetAccessor() { + modified_ = true; return accessor_; } };