ImageInfoUR* imageInfo = this->m_ImagesDeque->Undo();
if (imageInfo != NULL)
{
- //this->SetRedoImage(imageInfo->GetRegion());
+ //this->SetRedoImage(imageInfo->GetImageMManager());
this->DrawUR(imageInfo);
this->UpdateUndoImage();
}
}
//virtual
void ImageUndoRedo::Redo() {
-
+ /*ImageInfoUR* imageInfo = this->m_ImagesDeque->Redo();
+ if (imageInfo != NULL)
+ {
+ this->DrawUR(imageInfo);
+ }*/
}
void ImageUndoRedo::SetImage(VTKImageDataPointerType image) {
this->m_CurrentImage = image;
}
}
//virtual
-void ImageUndoRedo::SetRedoImage(const ImageMManagerType* imMManager) {
- /*RegionSType region = imMManager.GetModifiedRegion();
- VTKImageDataPointerType imgResult = this->ImageMManagerType(region,
- this->m_CurrentImage);
- this->m_ImagesDeque->AddImageToRedoContainer(imgResult, imMManager);*/
+void ImageUndoRedo::SetRedoImage(ImageMManagerType* imMManager) {
+ /*this->m_CurrentImage->Update();
+ ImageMManagerType* newImageManager = new ImageMManagerType(imMManager);
+ if (newImageManager->ValidateRegion()) {
+ RegionSType region = newImageManager->GetModifiedRegion();
+ VTKImageDataPointerType imgResult = this->GetImageRegion(region,
+ this->m_CurrentImage);
+ this->m_ImagesDeque->AddImageToRedoContainer(imgResult,
+ newImageManager);
+ imgResult->Update();
+ } else {
+ std::cerr << "INVALID REGION" << std::endl;
+ }*/
}
void ImageUndoRedo::UpdateUndoImage() {