]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageUndoRedo.cxx
DFCH: Manual Paint Changes (Undo/Redo) 80% :) :)
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / manualPaint / imageUndoRedo.cxx
index 5433a6db1f6c82fae427cf607ad94acdd1aec74a..94344ab763ff1b224c6b3bc660a6bc6a0c4779e6 100644 (file)
@@ -7,59 +7,62 @@
 
 #include "imageUndoRedo.h"
 
-ImageUndoRedo::ImageUndoRedo(ImageType* current) {
-
-       this->m_CurrentImage = current;
-       this->m_CurrentImage->Update();
-       this->m_OriginalImage = ImageType::New();
-       this->m_OriginalImage->ShallowCopy(m_CurrentImage);
+ImageUndoRedo::ImageUndoRedo() {
+       this->m_ImagesDeque = new IDequeType();
 }
 //virtual
 ImageUndoRedo::~ImageUndoRedo() {
 
 }
 //virtual
-void ImageUndoRedo::undo() {
-       ImageInfoUR imageInfo = this->m_ImagesDeque->undo();
-       this->setRedoImage(imageInfo.getRegion());
-       this->drawUR(imageInfo);
+void ImageUndoRedo::Undo() {
+       ImageInfoUR imageInfo = this->m_ImagesDeque->Undo();
+       this->SetRedoImage(imageInfo.GetRegion());
+       this->DrawUR(imageInfo);
 }
 //virtual
-void ImageUndoRedo::redo() {
-       ImageInfoUR imageInfo = this->m_ImagesDeque->undo();
-       this->drawUR(imageInfo);
-       imageInfo.removeImageFromMemory();
+void ImageUndoRedo::Redo() {
+       ImageInfoUR imageInfo = this->m_ImagesDeque->Redo();
+       this->DrawUR(imageInfo);
+       imageInfo.RemoveImageFromMemory();
+}
+void ImageUndoRedo::SetImage(vtkImageData *image)
+{
+       this->m_CurrentImage = image;
+       this->m_CurrentImage->Update();
+       this->m_OriginalImage = ImageType::New();
+       this->m_OriginalImage->ShallowCopy(m_CurrentImage);
 }
 //virtual
-void ImageUndoRedo::setUndoImage(const RegionSType& region) {
+void ImageUndoRedo::SetUndoImage(const RegionSType& region) {
        vtkExtractVOI* extract;
        extract->New();
        extract->SetVOI(region.minX, region.maxX, region.minY, region.maxY,
                        region.minZ, region.maxZ);
        extract->SetSampleRate(1, 1, 1);
        extract->SetInput(this->m_OriginalImage);
-       this->m_ImagesDeque->addImageToUndoContainer(extract->GetOutput(), region);
+       this->m_ImagesDeque->AddImageToUndoContainer(extract->GetOutput(), region);
        extract->Delete();
 }
 //virtual
-void ImageUndoRedo::setRedoImage(const RegionSType& region) {
+void ImageUndoRedo::SetRedoImage(const RegionSType& region) {
        vtkExtractVOI* extract;
        extract->New();
        extract->SetVOI(region.minX, region.maxX, region.minY, region.maxY,
                        region.minZ, region.maxZ);
        extract->SetSampleRate(1, 1, 1);
        extract->SetInput(this->m_CurrentImage);
-       this->m_ImagesDeque->addImageToUndoContainer(extract->GetOutput(), region);
+       this->m_ImagesDeque->AddImageToUndoContainer(extract->GetOutput(), region);
        extract->Delete();
 }
-void ImageUndoRedo::setOriginalImage(ImageType* img) {
+void ImageUndoRedo::SetOriginalImage(ImageType* img) {
        this->m_OriginalImage = img;
 }
-void ImageUndoRedo::setCurrentImage(ImageType* img) {
+void ImageUndoRedo::SetCurrentImage(ImageType* img) {
        this->m_CurrentImage = img;
 }
 //virtual
-void ImageUndoRedo::drawUR(ImageInfoUR imageInfo) {
+void ImageUndoRedo::DrawUR(ImageInfoUR imageInfo) {
 
 }