]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageDequeUR.h
DFCH: ManualPaint + ImageUndoRedo. undo 90% (with memory management but it doesn...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / imageUndoRedo / 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 <vtkSmartPointer.h>
16 #include "imageInfoUR.h"
17 #include "imageModificationManager.h"
18
19 class ImageDequeUR {
20 public:
21         typedef std::deque<ImageInfoUR*> ImageInfoDeque;
22         typedef vtkSmartPointer<vtkImageData> VTKImageDataPointerType;
23         typedef std::string StringType;
24         typedef ImageMManager ImageMManagerType;
25 public:
26         ImageDequeUR();
27         virtual ~ImageDequeUR();
28         virtual void AddImageToUndoContainer(VTKImageDataPointerType img,
29                         ImageMManager* imMManager);
30         virtual void AddImageToRedoContainer(VTKImageDataPointerType img,
31                         ImageMManager* imMManager);
32         virtual void CleanUndoContainerFromIndex(const int& index);
33         virtual void CleanRedoContainerFromIndex(const int& index);
34         virtual void CleanContainers();
35         virtual void ManageMemory();
36         virtual ImageInfoUR* Undo();
37         virtual ImageInfoUR* Redo();
38 };
39
40 #endif /* IMAGEDEQUE_H_ */