00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __mitkICVolume_h
00012 #define __mitkICVolume_h
00013
00014 #include "mitkVolume.h"
00015
00020 class MITK_COMMON_API mitkICVolume : public mitkVolume
00021 {
00022 public:
00023 MITK_TYPE(mitkICVolume, mitkVolume)
00024
00025 virtual void PrintSelf(ostream& os);
00026
00030 mitkICVolume();
00031
00036 virtual int GetDataObjectType() const { return MITK_IC_VOLUME; }
00037
00044 virtual void const* GetData() const { return m_Data; }
00045
00054 virtual void* GetData() { return m_Data; }
00055
00065 virtual void const* GetSliceForRead(int sliceIdx);
00066
00078 virtual void* GetSliceForWrite(int sliceIdx);
00079
00089 virtual void* GetSliceForReadWrite(int sliceIdx);
00090
00099 virtual bool ReadSliceData(int sliceIdx, void *dst);
00100
00109 virtual bool ReadYZSliceData(int xIdx, void *dst);
00110
00119 virtual bool ReadXZSliceData(int yIdx, void *dst);
00120
00136 virtual bool GetArbitrarySlice(int w, int h, double o[3], double ux[3], double uy[3], void *dst);
00137
00146 virtual bool WriteSliceData(int sliceIdx, void const *src);
00147
00168 virtual bool ReadSubVolume(int x, int y, int z, int w, int h, int d, int &tw, int &th, int &td, void *dst);
00169
00170 virtual bool ReadSubVolume(int x, int y, int z, int w, int h, int d,
00171 int dstx, int dsty, int dstz, int dstw, int dsth, int dstd,
00172 void *dst, bool zeropad=true);
00173
00174 virtual bool ReadSubVolume(int x, int y, int z, int w, int h, int d, void *dst, bool zeropad=true);
00175
00196 virtual bool WriteSubVolume(int x, int y, int z, int w, int h, int d, int &tw, int &th, int &td, void const *src);
00197
00206 virtual bool Allocate();
00207
00212 virtual unsigned long long GetActualMemorySize() const;
00213
00217 virtual void Initialize();
00218
00222 virtual void ShallowCopy(mitkDataObject *src);
00223
00227 virtual void DeepCopy(mitkDataObject *src);
00228
00229 protected:
00230 virtual ~mitkICVolume();
00231
00232 void *m_Data;
00233
00234 private:
00235 mitkICVolume(const mitkICVolume&);
00236 void operator=(const mitkICVolume&);
00237
00238 };
00239
00240 #endif
00241
00242