2 * @file imageMManager.cxx
3 * @brief This file contains the implementation of the ImageMManager class.
5 * @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
9 #include "imageModificationManager.h"
11 // ----------------------------------------------------------------------------------
12 ImageMManager::ImageMManager() {
15 // ----------------------------------------------------------------------------------
16 ImageMManager::ImageMManager(ImageMManager* manager) {
17 this->m_RegionStruct = manager->GetModifiedRegion();
19 // ----------------------------------------------------------------------------------
20 ImageMManager::~ImageMManager() {
23 // ----------------------------------------------------------------------------------
24 void ImageMManager::CleanModifiedRegion() {
26 int min = std::numeric_limits<int>::min();
27 int max = std::numeric_limits<int>::max();
28 this->m_RegionStruct.minX = max;
29 this->m_RegionStruct.maxX = min;
30 this->m_RegionStruct.minY = max;
31 this->m_RegionStruct.maxY = min;
32 this->m_RegionStruct.minZ = max;
33 this->m_RegionStruct.maxZ = min;
34 this->m_ValidRegion = false;
36 // ----------------------------------------------------------------------------------
37 void ImageMManager::CalculateMinMaxRegion(const int& i, const int& j,
39 if (i >= 0 && j >= 0 && k >= 0) {
40 if (i <= this->m_RegionStruct.minX) {
41 this->m_RegionStruct.minX = i;
43 if (i > this->m_RegionStruct.maxX) {
44 this->m_RegionStruct.maxX = i;
46 if (j <= this->m_RegionStruct.minY) {
47 this->m_RegionStruct.minY = j;
49 if (j > this->m_RegionStruct.maxY) {
50 this->m_RegionStruct.maxY = j;
52 if (k <= this->m_RegionStruct.minZ) {
53 this->m_RegionStruct.minZ = k;
55 if (k > this->m_RegionStruct.maxZ) {
56 this->m_RegionStruct.maxZ = k;
58 this->m_ValidRegion = true;
61 this->m_ValidRegion = false;
64 // ----------------------------------------------------------------------------------
65 void ImageMManager::AddModifiedPixel(const int& i, const int& j, const int& k) {
66 this->CalculateMinMaxRegion(i, j, k);
68 // ----------------------------------------------------------------------------------
69 bool ImageMManager::ValidateRegion() {
70 return (m_ValidRegion);
72 // ----------------------------------------------------------------------------------
73 RegionStructUR ImageMManager::GetModifiedRegion() {
74 return (this->m_RegionStruct);
76 // ----------------------------------------------------------------------------------