#include <string>
#include <deque>
#include <vtkImageData.h>
+#include <vtkSmartPointer.h>
#include "imageInfoUR.h"
#include "regionStructUR.h"
-typedef std::deque<ImageInfoUR> ImageInfoDeque;
-typedef vtkImageData ImageType;
+typedef std::deque<ImageInfoUR*> ImageInfoDeque;
+typedef vtkSmartPointer<vtkImageData> VTKImageDataPointerType;
typedef RegionStructUR RegionS;
+typedef std::string StringType;
class ImageDequeUR {
public:
ImageDequeUR();
virtual ~ImageDequeUR();
- virtual void AddImageToUndoContainer(ImageType* img, const RegionS& region);
- virtual void AddImageToRedoContainer(ImageType* img, const RegionS& region);
- virtual void CleanUndoContainerFromIndex(const unsigned int& index);
- virtual void CleanRedoContainerFromIndex(const unsigned int& index);
+ virtual void AddImageToUndoContainer(VTKImageDataPointerType img,
+ const RegionS& region);
+ virtual void AddImageToRedoContainer(VTKImageDataPointerType img,
+ const RegionS& region);
+ virtual void CleanUndoContainerFromIndex(const int& index);
+ virtual void CleanRedoContainerFromIndex(const int& index);
virtual void CleanContainers();
- virtual ImageInfoUR Undo();
- virtual ImageInfoUR Redo();
+ virtual ImageInfoUR* Undo();
+ virtual ImageInfoUR* Redo();
};
#endif /* IMAGEDEQUE_H_ */