1 #ifndef __CPEXTENSIONS__IO__MEMENTOSTATE__H__
2 #define __CPEXTENSIONS__IO__MEMENTOSTATE__H__
4 #include <cpExtensions/cpExtensions_Export.h>
11 #include <vtkSmartPointer.h>
12 #include <cpExtensions/Visualization/MPRObjects.h>
15 #include <cpPlugins/Interface/Interface.h>
16 #include <cpPlugins/Interface/ProcessObject.h>
17 #include <cpPlugins/Interface/Image.h>
18 #include <cpPlugins/Interface/ImplicitFunction.h>
19 #include <cpPlugins/Interface/Mesh.h>
21 #include <vtkMetaImageReader.h>
22 #include <vtkCommand.h>
24 namespace cpExtensions
28 class cpExtensions_EXPORT MementoState
33 std::vector<bool> m_stateReady;
34 std::vector<bool>::iterator m_stateIt;
38 bool SetToMemento(cpPlugins::Interface::Image* _img);
39 vtkSmartPointer<vtkImageData> MementoUndo();
40 vtkSmartPointer<vtkImageData> MementoRedo();
41 vtkSmartPointer<vtkImageData> GetFromMemento(long id);
43 void Save(const std::string& filename, const std::string& filenameRaw, cpPlugins::Interface::Image* img);
44 vtkSmartPointer<vtkImageData> Load(const std::string& filename);
49 //==========================================================================
51 // -------------------------------------------------------------------------
59 #endif // __CPEXTENSIONS__IO__MEMENTOSTATE__H__