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=4857a7d1e7f3960e2a0d9626f3f495202cb96e01;hb=ada3e60bcd998550327dac4f95b65f0c113f063b;hp=bdbed3737e5d79dd2714fb5421a5a41284d73cbd;hpb=35a5d83be3d84f9d1544b8d3ad0de044f1e65286;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 index bdbed37..4857a7d 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageModificationManager.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageModificationManager.cxx @@ -11,7 +11,6 @@ ImageMManager::ImageMManager() { } ImageMManager::ImageMManager(ImageMManager* manager) { - this->m_PixelMap = manager->GetModificationMap(); this->m_RegionStruct = manager->GetModifiedRegion(); } ImageMManager::~ImageMManager() { @@ -28,40 +27,46 @@ void ImageMManager::CleanModifiedRegion() { this->m_RegionStruct.maxY = min; this->m_RegionStruct.minZ = max; this->m_RegionStruct.maxZ = min; - this->m_PixelMap.clear(); + this->m_ValidRegion = false; } //DFCH void ImageMManager::CalculateMinMaxRegion(const int& i, const int& j, const int& k) { - if (i <= this->m_RegionStruct.minX) { - this->m_RegionStruct.minX = i; + if (i >= 0 && j >= 0 && k >= 0) { + 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 + this->m_ValidRegion = true; } //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; + else { + this->m_ValidRegion = false; } //esle } //DFCH void ImageMManager::AddModifiedPixel(const int& i, const int& j, const int& k) { - this->m_PixelMap[i][j][k] = true; + //this->m_PixelMap[i][j][k] = true; this->CalculateMinMaxRegion(i, j, k); } //DFCH -RegionStructUR ImageMManager::GetModifiedRegion() { - return (this->m_RegionStruct); +bool ImageMManager::ValidateRegion() { + return (m_ValidRegion); } -ImageMManager::PixelModMap ImageMManager::GetModificationMap() { - return (this->m_PixelMap); +RegionStructUR ImageMManager::GetModifiedRegion() { + return (this->m_RegionStruct); }