X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FimageUndoRedo%2FimageModificationManager.cxx;fp=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FimageUndoRedo%2FimageModificationManager.cxx;h=bdbed3737e5d79dd2714fb5421a5a41284d73cbd;hb=f4bdb751aba1f5fce1d4305365d6309f993d9c32;hp=0000000000000000000000000000000000000000;hpb=c1e96e29d470edd3c0e9d45db561ff1a5d8bf81a;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageModificationManager.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageModificationManager.cxx new file mode 100644 index 0000000..bdbed37 --- /dev/null +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageModificationManager.cxx @@ -0,0 +1,67 @@ +/* + * imageManagement.cxx + * + * Created on: Oct 28, 2011 + * Author: caceres + */ + +#include "imageModificationManager.h" + +ImageMManager::ImageMManager() { + +} +ImageMManager::ImageMManager(ImageMManager* manager) { + this->m_PixelMap = manager->GetModificationMap(); + this->m_RegionStruct = manager->GetModifiedRegion(); +} +ImageMManager::~ImageMManager() { + +} + +void ImageMManager::CleanModifiedRegion() { + + int min = std::numeric_limits::min(); + int max = std::numeric_limits::max(); + this->m_RegionStruct.minX = max; + this->m_RegionStruct.maxX = min; + this->m_RegionStruct.minY = max; + this->m_RegionStruct.maxY = min; + this->m_RegionStruct.minZ = max; + this->m_RegionStruct.maxZ = min; + this->m_PixelMap.clear(); + +} //DFCH +void ImageMManager::CalculateMinMaxRegion(const int& i, const int& j, + const int& k) { + if (i <= this->m_RegionStruct.minX) { + this->m_RegionStruct.minX = i; + } //fi + if (i > this->m_RegionStruct.maxX) { + this->m_RegionStruct.maxX = i; + } //esle + if (j <= this->m_RegionStruct.minY) { + this->m_RegionStruct.minY = j; + } //fi + if (j > this->m_RegionStruct.maxY) { + this->m_RegionStruct.maxY = j; + } //esle + if (k <= this->m_RegionStruct.minZ) { + this->m_RegionStruct.minZ = k; + } //fi + if (k > this->m_RegionStruct.maxZ) { + this->m_RegionStruct.maxZ = k; + } //esle +} //DFCH + +void ImageMManager::AddModifiedPixel(const int& i, const int& j, const int& k) { + this->m_PixelMap[i][j][k] = true; + this->CalculateMinMaxRegion(i, j, k); +} //DFCH + +RegionStructUR ImageMManager::GetModifiedRegion() { + return (this->m_RegionStruct); +} + +ImageMManager::PixelModMap ImageMManager::GetModificationMap() { + return (this->m_PixelMap); +}