00001 #ifndef Impala_Visualization_RgbImage_h 00002 #define Impala_Visualization_RgbImage_h 00003 00004 #include "Core/Array/Arrays.h" 00005 00006 namespace Impala 00007 { 00008 namespace Visualization 00009 { 00010 00011 00012 class RgbImage 00013 { 00014 public: 00015 typedef Core::Array::Array2dVec3UInt8 Array2dVec3UInt8; 00016 00017 RgbImage() 00018 { 00019 mData = 0; 00020 } 00021 00022 RgbImage(Array2dVec3UInt8* data, std::string caption, double scale, 00023 bool ownData, int idx) 00024 { 00025 mData = data; 00026 mCaption = caption; 00027 mScale = scale; 00028 mOwnData = ownData; 00029 mIdx = idx; 00030 } 00031 00032 virtual ~RgbImage() 00033 { 00034 #ifdef DESTRUCT_VERBOSE 00035 printf("RgbImage destruct. mData %d Own %d\n", mData, mOwnData); 00036 #endif 00037 if (mData && mOwnData) 00038 delete mData; 00039 } 00040 00041 virtual Array2dVec3UInt8* 00042 Data() 00043 { 00044 return mData; 00045 } 00046 00047 virtual std::string 00048 Caption() 00049 { 00050 return mCaption; 00051 } 00052 00053 virtual double 00054 Scale() 00055 { 00056 return mScale; 00057 } 00058 00059 virtual int 00060 Idx() 00061 { 00062 return mIdx; 00063 } 00064 00065 private: 00066 00067 Array2dVec3UInt8* mData; 00068 std::string mCaption; 00069 double mScale; 00070 bool mOwnData; 00071 int mIdx; 00072 00073 }; 00074 00075 } // namespace Visualization 00076 } // namespace Impala 00077 00078 #endif