00001 #ifndef __creaImageIOImagePointerHolder_INCLUDED__ 00002 #define __creaImageIOImagePointerHolder_INCLUDED__ 00003 00004 #include <creaImageIOSystem.h> 00005 #include <vtkImageData.h> 00006 #include <boost/thread/mutex.hpp> 00007 00008 00009 namespace creaImageIO 00010 { 00011 // The class that holds the pointer to the images to show 00012 class ImagePointerHolder 00013 { 00014 public: 00015 ImagePointerHolder(vtkImageData* im): 00016 mImage(im) 00017 {} 00018 ImagePointerHolder(); 00019 void Set(vtkImageData* im){boost::mutex::scoped_lock lock(mMutex);mImage=im;} 00020 vtkImageData* Get(){boost::mutex::scoped_lock lock(mMutex);return mImage;} 00021 private: 00022 vtkImageData* mImage; 00024 boost::mutex mMutex; 00025 }; 00026 } 00027 #endif 00028 00029