00001 /*========================================================================= 00002 00003 Program: 3DMed 00004 Date: $Date: 2014-02-25 18:30:00 +0800 $ 00005 Version: $Version: 4.6.0 $ 00006 Copyright: MIPG, Institute of Automation, Chinese Academy of Sciences 00007 00008 =========================================================================*/ 00009 00010 00011 #ifndef __mitkOoCParallelProjectData_h 00012 #define __mitkOoCParallelProjectData_h 00013 00014 #include "mitkParallelProjectData.h" 00015 #include "mitkOoCVolume.h" 00016 00021 00022 00023 class MITK_RECONSTRUCTION_API mitkOoCParallelProjectData : public mitkParallelProjectData 00024 { 00025 public: 00026 MITK_TYPE(mitkOoCParallelProjectData,mitkParallelProjectData) 00027 00028 virtual void PrintSelf(ostream& os); 00029 00030 mitkOoCParallelProjectData(); 00031 00032 virtual int GetDataObjectType() const { return MITK_OUT_OF_CORE_PARALLEL_PROJECT_DATA; } 00033 00039 virtual unsigned long long GetActualMemorySize() const ; 00040 00044 virtual void ShallowCopy(mitkDataObject *src) ; 00045 00049 virtual void DeepCopy(mitkDataObject *src) ; 00050 00051 virtual void Initialize(); 00052 00056 virtual void const* GetSliceForRead(int sliceIdx) ; 00057 00058 virtual void* GetSliceForWrite(int sliceIdx); 00059 00060 virtual void* GetSliceForReadWrite(int sliceIdx) ; 00061 00062 void SetPathOfDiskBuffer(char const *path); 00063 00064 void SetBufferedSliceNum(unsigned int n); 00065 00066 unsigned int GetBufferedSliceNum(); 00067 00068 char const* GetPathOfDiskBuffer(); 00069 00070 virtual bool Allocate(); 00071 00072 protected: 00073 virtual ~mitkOoCParallelProjectData(); 00074 00075 private: 00076 mitkOoCParallelProjectData(const mitkOoCParallelProjectData&); 00077 void operator = (const mitkOoCParallelProjectData&); 00078 00079 }; 00080 00081 //#define DEFINED_mitkOoCParallelProjectData 00082 00083 00084 00085 00086 #endif 00087