From 825f47d7d281a359e9fec03de88e7db58e9e49ff Mon Sep 17 00:00:00 2001 From: Diego Caceres Date: Mon, 7 Nov 2011 11:40:19 +0000 Subject: [PATCH] DFCH --- .../wxWindows/widgets/imageUndoRedo/image3DDequeUR.cxx | 8 +++++++- .../wxWindows/widgets/imageUndoRedo/image3DDequeUR.h | 1 + .../wxWindows/widgets/imageUndoRedo/imageDequeUR.h | 1 + .../wxWindows/widgets/imageUndoRedo/imageInfoUR.cxx | 7 ++++++- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/image3DDequeUR.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/image3DDequeUR.cxx index 93efb5b..d24c809 100755 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/image3DDequeUR.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/image3DDequeUR.cxx @@ -9,7 +9,7 @@ Image3DDequeUR::Image3DDequeUR() { } //virtual Image3DDequeUR::~Image3DDequeUR() { - + this->CleanHardDisk(); } //virtual void Image3DDequeUR::AddImageToUndoContainer(VTKImageDataPointerType img, @@ -95,6 +95,12 @@ void Image3DDequeUR::SetGlobalPath(const StringType& globalPath) { this->m_GlobalPath = globalPath; } +void Image3DDequeUR::CleanHardDisk() { + for (unsigned int i = 0; i < this->m_ImgUndoDeque.size(); i++) { + this->m_ImgUndoDeque[i]->RemoveImageFromDisk(this->m_GlobalPath); + } +} + Image3DDequeUR::StringType Image3DDequeUR::GetGlobalPath() { return (this->m_GlobalPath); } diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/image3DDequeUR.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/image3DDequeUR.h index cdcdefb..dd861b2 100755 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/image3DDequeUR.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/image3DDequeUR.h @@ -18,6 +18,7 @@ public: void SetGlobalPath(const StringType& globalPath); StringType GetGlobalPath(); StringType GetImageName(const int & pos, const bool& undo); + void CleanHardDisk(); virtual void AddImageToUndoContainer(VTKImageDataPointerType img, ImageMManagerType* imMManager); virtual void AddImageToRedoContainer(VTKImageDataPointerType img, diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageDequeUR.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageDequeUR.h index a20630a..b7b8522 100755 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageDequeUR.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageDequeUR.h @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include "imageInfoUR.h" diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageInfoUR.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageInfoUR.cxx index d788dbc..263bce8 100755 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageInfoUR.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageInfoUR.cxx @@ -59,6 +59,8 @@ void ImageInfoUR::LoadImageMHDToMemory(const StringType& gPath) { void ImageInfoUR::SaveImageAsMHD(const StringType& gPath) { this->m_OnDisk = true; StringType filename = gPath + this->m_ImageName; + //managing temporary files + mkstemp((char*) filename.c_str()); VTKMetaImageWriterPointerType w = VTKMetaImageWriterPointerType::New(); w->SetInput(this->m_Image); w->SetCompression(false); @@ -68,5 +70,8 @@ void ImageInfoUR::SaveImageAsMHD(const StringType& gPath) { } void ImageInfoUR::RemoveImageFromDisk(const StringType& gPath) { - + std::cout << "Borrando archivo" << endl; + StringType filename = gPath + this->m_ImageName; + std::cout << filename << std::endl; + unlink((char*) filename.c_str()); } -- 2.45.1