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 __mitkTrackedBscanOoCData_h 00012 #define __mitkTrackedBscanOoCData_h 00013 00014 #include "mitkTrackedBscanData.h" 00015 #include "mitkOoCVolume.h" 00016 #include "mitkMatrix.h" 00017 00043 00044 class MITK_RECONSTRUCTION_API mitkTrackedBscanOoCData : public mitkTrackedBscanData 00045 { 00046 public: 00047 MITK_TYPE(mitkTrackedBscanOoCData, mitkTrackedBscanData) 00048 00049 virtual void PrintSelf(ostream &os); 00050 00051 mitkTrackedBscanOoCData(); 00052 00056 virtual void Initialize(); 00057 00062 virtual int GetDataObjectType() const { return MITK_TRACKED_BSCAN_OOC_DATA; } 00063 00064 00073 void* GetData(); 00074 00084 void* GetSliceData(int sliceIdx); 00085 00094 bool WriteSliceData(int sliceIdx, void const *src); 00095 00108 bool Allocate(); 00109 00114 virtual unsigned long long GetActualMemorySize() const; 00115 00116 00124 void SetBufferedSliceNum(unsigned int n) { m_BufferedSliceNum=n;} 00125 00130 unsigned int GetBufferedSliceNum() { return m_BufferedSliceNum; } 00131 00137 void SetPathOfDiskBuffer(char const *path); 00138 00144 char const* GetPathOfDiskBuffer(); 00145 00149 virtual void ShallowCopy(mitkDataObject *src); 00150 00154 virtual void DeepCopy(mitkDataObject *src); 00155 00156 00157 00158 00159 00160 protected: 00161 virtual ~mitkTrackedBscanOoCData(); 00162 00163 mitkOoCVolume *m_Slices; 00164 unsigned int m_BufferedSliceNum; 00165 mitkString *m_DiskPath; 00166 00167 private: 00168 mitkTrackedBscanOoCData(const mitkTrackedBscanOoCData&); 00169 void operator = (const mitkTrackedBscanOoCData&); 00170 00171 }; 00172 00173 00174 //#define DEFINED_mitkTrackedBscanOoCData 00175 00176 00177 00178 #endif 00179