/* * imageUndoRedo.cxx * * Created on: Sep 26, 2011 * Author: caceres */ #include "imageUndoRedo.h" ImageUndoRedo::ImageUndoRedo() { this->m_ImagesDeque = new IDequeType(); } //virtual ImageUndoRedo::~ImageUndoRedo() { } //virtual void ImageUndoRedo::Undo() { ImageInfoUR* imageInfo = this->m_ImagesDeque->Undo(); this->SetRedoImage(imageInfo->GetRegion()); std::cout<<"undooooooooooooooooooooooooooo"<DrawUR(imageInfo); } //virtual void ImageUndoRedo::Redo() { ImageInfoUR* imageInfo = this->m_ImagesDeque->Redo(); this->DrawUR(imageInfo); } void ImageUndoRedo::SetImage(vtkImageData *image) { this->m_CurrentImage = image; this->m_CurrentImage->Update(); this->m_OriginalImage = ImageType::New(); this->m_OriginalImage->DeepCopy(m_CurrentImage); } //virtual void ImageUndoRedo::SetUndoImage(const RegionSType& region) { vtkSmartPointer extract = vtkSmartPointer::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); vtkImageData* imgResult = extract->GetOutput(); this->m_ImagesDeque->AddImageToUndoContainer(imgResult, region); } //virtual void ImageUndoRedo::SetRedoImage(const RegionSType& region) { vtkSmartPointer extract = vtkSmartPointer::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); vtkImageData* imgResult = extract->GetOutput(); this->m_ImagesDeque->AddImageToRedoContainer(imgResult, region); } void ImageUndoRedo::SetOriginalImage(ImageType* img) { this->m_OriginalImage = img; } void ImageUndoRedo::SetCurrentImage(ImageType* img) { this->m_CurrentImage = img; } //virtual void ImageUndoRedo::DrawUR(ImageInfoUR* imageInfo) { }