]> Creatis software - cpPlugins.git/blob - appli/ImageMPR/MementoState.h
undo redo for images in viewer
[cpPlugins.git] / appli / ImageMPR / MementoState.h
1 #ifndef __MEMENTOSTATE__H__
2 #define __MEMENTOSTATE__H__
3
4 #include <vector>
5
6
7 // vtk stuff
8 #include <vtkSmartPointer.h>
9 #include <cpExtensions/Visualization/MPRObjects.h>
10
11 // Plugins interface
12 #include <cpPlugins/Interface/Interface.h>
13 #include <cpPlugins/Interface/ProcessObject.h>
14 #include <cpPlugins/Interface/Image.h>
15 #include <cpPlugins/Interface/ImplicitFunction.h>
16 #include <cpPlugins/Interface/Mesh.h>
17
18 #include <vtkMetaImageReader.h>
19
20 // -------------------------------------------------------------------------
21 namespace Ui
22 {
23   class ImageMPR;
24 }
25
26 //==========================================================================
27 // Plugins types
28 typedef cpPlugins::Interface::Interface        TPluginsInterface;
29 typedef cpPlugins::Interface::Object           TPluginObject;
30 typedef cpPlugins::Interface::DataObject       TPluginData;
31 typedef cpPlugins::Interface::Image            TPluginImage;
32 typedef cpPlugins::Interface::ImplicitFunction TPluginImplicitFunction;
33 typedef cpPlugins::Interface::Mesh             TPluginMesh;
34 typedef cpPlugins::Interface::ProcessObject    TPluginFilter;
35 typedef cpPlugins::Interface::Parameters       TParameters;
36
37 typedef cpExtensions::Visualization::MPRObjects TMPRObjects;
38
39 class MementoState
40 {
41 private:
42         long m_Id;
43         
44 public:
45         
46         MementoState();
47         MementoState(long id, TPluginImage* _img);
48         vtkSmartPointer<vtkMetaImageReader> getMemento(long id);
49 private:
50         void save(const std::string& filename, const std::string& filenameRaw, TPluginImage* img); 
51         vtkSmartPointer<vtkMetaImageReader> load(const std::string& filename);
52         
53 };
54
55 //==========================================================================
56
57 // -------------------------------------------------------------------------
58 /**
59  */
60
61
62
63
64
65 #endif // __MEMENTOSTATE__H__
66
67 // eof - $RCSfile$