]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageModificationManager.cxx
#3418 creaMaracasVisu Feature New Normal - ManualPaint_model with openmp
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / imageUndoRedo / imageModificationManager.cxx
index d4ae5a64ed72164fec3c96aac82194716d11b638..d8a7dc01551136027bb897384b85b99cf9f7bca4 100644 (file)
 #include "imageModificationManager.h"
 
 // ----------------------------------------------------------------------------------
-ImageMManager::ImageMManager() {
-
+ImageMManager::ImageMManager() 
+{
+       baseInitialPointX=-9999;
+       baseInitialPointY=-9999;
+       baseInitialPointZ=-9999;
 }
+
 // ----------------------------------------------------------------------------------
-ImageMManager::ImageMManager(ImageMManager* manager) {
-       this->m_RegionStruct = manager->GetModifiedRegion();
+ImageMManager::ImageMManager(ImageMManager* manager) 
+{
+       this->m_RegionStruct    = manager->GetModifiedRegion();
+       this->m_ValidRegion     = manager->ValidateRegion();
+       this->baseInitialPointX = manager->GetBaseInitialPointX();
+       this->baseInitialPointY = manager->GetBaseInitialPointY();
+       this->baseInitialPointZ = manager->GetBaseInitialPointZ();
 }
 // ----------------------------------------------------------------------------------
-ImageMManager::~ImageMManager() {
-
+ImageMManager::~ImageMManager() 
+{
 }
-// ----------------------------------------------------------------------------------
-void ImageMManager::CleanModifiedRegion() {
 
-       int min = std::numeric_limits<int>::min();
-       int max = std::numeric_limits<int>::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_ValidRegion = false;
+// ----------------------------------------------------------------------------------
+void ImageMManager::CleanModifiedRegion() 
+{
+       int min                                         = std::numeric_limits<int>::min();
+       int max                                         = std::numeric_limits<int>::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_ValidRegion             = false;
 }
+
 // ----------------------------------------------------------------------------------
-void ImageMManager::CalculateMinMaxRegion(const int& i, const int& j,
-               const int& k) {
-       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
+void ImageMManager::CalculateMinMaxRegion(const int& i, const int& j, const int& k) 
+{
+       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
-       else {
+       }else {
                this->m_ValidRegion = false;
-       } //esle
+       } // if i j k
+
+//     if (m_ValidRegion )  printf("  ImageMManager::CalculateMinMaxRegion true \n");
+//     if (!m_ValidRegion ) printf("  ImageMManager::CalculateMinMaxRegion false \n");
 }
+
 // ----------------------------------------------------------------------------------
-void ImageMManager::AddModifiedPixel(const int& i, const int& j, const int& k) {
+void ImageMManager::AddModifiedPixel(const int& i, const int& j, const int& k) 
+{
        this->CalculateMinMaxRegion(i, j, k);
 }
 // ----------------------------------------------------------------------------------
-bool ImageMManager::ValidateRegion() {
+bool ImageMManager::ValidateRegion() 
+{
        return (m_ValidRegion);
 }
 // ----------------------------------------------------------------------------------
-RegionStructUR ImageMManager::GetModifiedRegion() {
+RegionStructUR ImageMManager::GetModifiedRegion() 
+{
        return (this->m_RegionStruct);
 }
 // ----------------------------------------------------------------------------------
+
+void ImageMManager::BaseInitialPoint(int x, int y, int z)
+{
+       baseInitialPointX = x;  
+       baseInitialPointY = y;  
+       baseInitialPointZ = z;  
+}
+
+int ImageMManager::GetBaseInitialPointX()
+{
+       return baseInitialPointX;
+}
+
+int ImageMManager::GetBaseInitialPointY()
+{
+       return baseInitialPointY;
+}
+
+int ImageMManager::GetBaseInitialPointZ()
+{
+       return baseInitialPointZ;
+}
+