00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __mitkDataObject_h
00012 #define __mitkDataObject_h
00013
00014 #include "mitkObject.h"
00015
00022 class MITK_COMMON_API mitkDataObject : public mitkObject
00023 {
00024 public:
00025 MITK_TYPE(mitkDataObject,mitkObject)
00026
00027 virtual void PrintSelf(ostream& os);
00028
00034 virtual void Initialize() = 0;
00035
00042 virtual int GetDataObjectType() const {return MITK_DATA_OBJECT;}
00043
00051 virtual unsigned long long GetActualMemorySize() const = 0;
00052
00056 virtual void ShallowCopy(mitkDataObject *src) = 0;
00057
00061 virtual void DeepCopy(mitkDataObject *src) = 0;
00062
00063 protected:
00064 mitkDataObject();
00065 virtual ~mitkDataObject();
00066
00067 private:
00068 mitkDataObject(const mitkDataObject&);
00069 void operator=(const mitkDataObject&);
00070 };
00071
00072
00073 #endif
00074
00075
00076