]> 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 0bdcfdef2dad273bcd8614df632ba579f26753ee..d8a7dc01551136027bb897384b85b99cf9f7bca4 100644 (file)
 // ----------------------------------------------------------------------------------
 ImageMManager::ImageMManager() 
 {
+       baseInitialPointX=-9999;
+       baseInitialPointY=-9999;
+       baseInitialPointZ=-9999;
 }
+
 // ----------------------------------------------------------------------------------
 ImageMManager::ImageMManager(ImageMManager* manager) 
 {
-       this->m_RegionStruct = manager->GetModifiedRegion();
+       this->m_RegionStruct    = manager->GetModifiedRegion();
+       this->m_ValidRegion     = manager->ValidateRegion();
+       this->baseInitialPointX = manager->GetBaseInitialPointX();
+       this->baseInitialPointY = manager->GetBaseInitialPointY();
+       this->baseInitialPointZ = manager->GetBaseInitialPointZ();
 }
 // ----------------------------------------------------------------------------------
 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;
+       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
+               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;
        }else {
                this->m_ValidRegion = false;
        } // if i j k
 
-       if (m_ValidRegion )  printf("  ImageMManager::CalculateMinMaxRegion true \n");
-       if (!m_ValidRegion ) printf("  ImageMManager::CalculateMinMaxRegion false \n");
+//     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) 
 {
-printf("EED ImageMManager::AddModifiedPixel \n");
        this->CalculateMinMaxRegion(i, j, k);
 }
 // ----------------------------------------------------------------------------------
@@ -114,3 +105,26 @@ 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;
+}
+