/* * imageUndoRedo.cxx * * Created on: Sep 26, 2011 * Author: caceres */ #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); } //virtual ImageUndoRedo::~ImageUndoRedo() { } //virtual 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(); } //virtual 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); extract->Delete(); } //virtual 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); extract->Delete(); } void ImageUndoRedo::setOriginalImage(ImageType* img) { this->m_OriginalImage = img; } void ImageUndoRedo::setCurrentImage(ImageType* img) { this->m_CurrentImage = img; } //virtual void ImageUndoRedo::drawUR(ImageInfoUR imageInfo) { }