]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageInfoUR.h
DFCH: Manualpaint + imageUndoRedo Big changes, new class for the management of the...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / imageUndoRedo / imageInfoUR.h
1 /*
2  * ImageInfo.h
3  *
4  *  Created on: Sep 22, 2011
5  *      Author: caceres
6  */
7
8 #ifndef IMAGEINFO_H_
9 #define IMAGEINFO_H_
10
11 #include <iostream>
12 #include <string>
13 #include <vtkImageData.h>
14 #include <vtkMetaImageWriter.h>
15 #include <vtkMetaImageReader.h>
16 #include <vtkSmartPointer.h>
17 #include "regionStructUR.h"
18 #include "imageModificationManager.h"
19
20 class ImageInfoUR {
21
22 public:
23         typedef vtkSmartPointer<vtkImageData> VTKImageDataPointerType;
24         typedef vtkSmartPointer<vtkMetaImageReader> VTKMetaImageReaderPointerType;
25         typedef vtkSmartPointer<vtkMetaImageWriter> VTKMetaImageWriterPointerType;
26         typedef ImageMManager ImageMManagerType;
27         typedef std::string StringType;
28 public:
29         ImageInfoUR();
30         virtual ~ImageInfoUR();
31         void SetImageName(const StringType &imgName);
32         void SetImageMManager(ImageMManagerType *imMManager);
33         void SetStatus(const bool& onMemory);
34         void SetImage(VTKImageDataPointerType img);
35         void RemoveImageFromMemory(const StringType& gPath);
36         void LoadImageMHDToMemory(const StringType& gPath);
37         void SaveImageAsMHD(const StringType& gPath);
38         void RemoveImageFromDisk(const StringType& gPath);
39         VTKImageDataPointerType GetImage();
40         StringType GetImageName();
41         ImageMManagerType* GetImageMManager();
42         bool GetStatus();
43
44 private:
45         VTKImageDataPointerType m_Image;
46         StringType m_ImageName;
47         ImageMManagerType* m_ImageMManager;
48         bool m_OnMemory;
49         bool m_OnDisk;
50
51 };
52
53 #endif /* IMAGEINFO_H_ */