1 #ifndef __CPEXTENSIONS__IO__MEMENTOSTATE__H__
2 #define __CPEXTENSIONS__IO__MEMENTOSTATE__H__
5 #include <cpExtensions/cpExtensions_Export.h>
12 #include <vtkSmartPointer.h>
13 #include <cpExtensions/Visualization/MPRObjects.h>
16 #include <cpPlugins/Interface/Interface.h>
17 #include <cpPlugins/Interface/ProcessObject.h>
18 #include <cpPlugins/Interface/Image.h>
19 #include <cpPlugins/Interface/ImplicitFunction.h>
20 #include <cpPlugins/Interface/Mesh.h>
22 #include <vtkMetaImageReader.h>
23 #include <vtkCommand.h>
25 namespace cpExtensions
29 class cpExtensions_EXPORT MementoState
34 std::vector<bool> m_stateReady;
35 std::vector<bool>::iterator m_stateIt;
39 bool SetToMemento(cpPlugins::Interface::Image* _img);
40 vtkSmartPointer<vtkImageData> MementoUndo();
41 vtkSmartPointer<vtkImageData> MementoRedo();
42 vtkSmartPointer<vtkImageData> GetFromMemento(long id);
44 void Save(const std::string& filename, const std::string& filenameRaw, cpPlugins::Interface::Image* img);
45 vtkSmartPointer<vtkImageData> Load(const std::string& filename);
51 //==========================================================================
53 // -------------------------------------------------------------------------
61 #endif // __CPEXTENSIONS__IO__MEMENTOSTATE__H__