00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __mitkProjectData_h
00012 #define __mitkProjectData_h
00013 #include "mitkVolume.h"
00014
00015 #include "mitkDataObject.h"
00016 #include "mitkRCPtr.h"
00017
00018 #include "mitkReconstructionIncludes.h"
00019
00024
00025 class MITK_RECONSTRUCTION_API mitkProjectData : public mitkDataObject
00026 {
00027 public:
00028 MITK_TYPE(mitkProjectData, mitkDataObject)
00029
00030 virtual void PrintSelf(ostream& os);
00031
00032 mitkProjectData();
00033
00040 virtual void const* GetData() const =0;
00041
00048 virtual void* GetData() =0;
00049
00054 int GetDataTypeSize() const { return m_DataTypeSize; }
00055
00070 void SetDataType(int data_type);
00071
00075 int GetDataType() const { return m_DataType; }
00076
00081 void SetBeginAngle(double angle) { beginAngle = angle; }
00082
00087 double GetBeginAngle() const { return beginAngle; }
00088
00093 void SetEndAngle(double angle) { endAngle = angle; }
00094
00099 double GetEndAngle() const { return endAngle; }
00100
00104 void SetAngleNum(int length) {numRotate = length; }
00105
00109 int GetAngleNum() const {return numRotate; }
00110
00114 float GetPitch() const {return pitch; }
00115
00119 void SetPitch(float m) {pitch = m; }
00120
00124 float GetInitZPostion() const {return z0; }
00125
00129 void SetInitZPosition(float m) {z0 = m; }
00130
00131 virtual void Initialize();
00132
00133 virtual bool Allocate() = 0;
00134
00135 protected:
00136
00137 virtual ~mitkProjectData();
00138 int m_DataType;
00139 int m_DataTypeSize;
00140 double m_DataTypeMin;
00141 double m_DataTypeMax;
00142
00143 float pitch;
00144 float z0;
00145 double beginAngle;
00146 double endAngle;
00147 double dAngle;
00148 int numRotate;
00149
00150 mitkRCPtr<mitkVolume> m_Data;
00151
00152 private:
00153 mitkProjectData(const mitkProjectData&);
00154 void operator=(const mitkProjectData&);
00155
00156 };
00157
00158
00159
00160
00161 #endif
00162
00163