]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageDequeUR.h
46b72bd71b1db053001bcbc9fee16ce5a5c3ce7e
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / manualPaint / imageDequeUR.h
1 /*
2  * ImageDeque.h
3  *
4  *  Created on: Sep 22, 2011
5  *      Author: caceres
6  */
7
8 #ifndef IMAGEDEQUE_H_
9 #define IMAGEDEQUE_H_
10
11 #include <iostream>
12 #include <string>
13 #include <deque>
14 #include <vtkImageData.h>
15 #include "imageInfoUR.h"
16 #include "regionStructUR.h"
17
18 typedef std::deque<ImageInfoUR> ImageInfoDeque;
19 typedef vtkImageData ImageType;
20 typedef RegionStructUR RegionS;
21
22 class ImageDequeUR {
23 public:
24         ImageDequeUR();
25         virtual ~ImageDequeUR();
26         virtual void addImageToUndoContainer(ImageType* img, const RegionS& region);
27         virtual void addImageToRedoContainer(ImageType* img, const RegionS& region);
28         virtual void loadUndoImageToPMemory( const unsigned int& index );
29         virtual void removeUndoImageFromPMemory( const unsigned int& index );
30         virtual void loadRedoImageToPMemory( const unsigned int& index );
31         virtual void removeRedoImageFromPMemory( const unsigned int& index );
32         virtual void saveImageAsMHD( ImageType* img, const std::string& filename );
33         virtual ImageInfoUR undo( );
34         virtual ImageInfoUR redo( );
35 private:
36         void cleanContainerFromIndex(const unsigned int& index);
37 };
38
39 #endif /* IMAGEDEQUE_H_ */