]> Creatis software - creaImageIO.git/blobdiff - src/creaImageIOMultiThreadImageReader.cpp
#3111 creaImageIO Bug New Normal - branch vtk7itk4 compilation with vtk7
[creaImageIO.git] / src / creaImageIOMultiThreadImageReader.cpp
index c4056b0e82206f6cb334a53eb8753ab8e8986e34..96ba90b4a03afcbc9c8822e01a39339c5caa92a3 100644 (file)
@@ -463,7 +463,9 @@ namespace creaImageIO
     //    std::cout << "user="<<p->GetUser() <<std::endl;
 
     if ( p->GetUser() == this ) 
+       {
       GetMultiThreadImageReaderUserMutex().Unlock();
+       }
 
     p->GetUser()->MultiThreadImageReaderSendEvent
       (p->GetFilename(),
@@ -480,9 +482,22 @@ namespace creaImageIO
     //    wxMutexLocker lock(GetMultiThreadImageReaderUserMutex());
           
     mUnloadQueue.insert(p);
+
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
     p->GetImage()->UpdateInformation();
     p->GetImage()->PropagateUpdateExtent();
     long ImMem = p->GetImage()->GetEstimatedMemorySize();
+#else
+       int ext[6];
+       int dim[3];
+       p->GetImage()->GetExtent(ext);
+       dim[0]          = ext[1]-ext[0]+1;
+       dim[1]          = ext[3]-ext[2]+1;
+       dim[2]          = ext[5]-ext[4]+1;
+    long ImMem         = dim[0]*dim[1]*dim[2]*p->GetImage()->GetScalarSize();;
+#endif
     mTotalMem += ImMem;
 
     GimmickMessage(5,"==> Image in memory = "<<mUnloadQueue.size()<<std::endl);
@@ -517,7 +532,19 @@ namespace creaImageIO
        std::string filename = unload->GetFilename();
 
        GimmickMessage(5,"'" << filename << "'" << std::endl);
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
        mTotalMem -= unload->GetImage()->GetEstimatedMemorySize();
+#else
+       int ext[6];
+       int dim[3];
+       unload->GetImage()->GetExtent(ext);
+       dim[0]          = ext[1]-ext[0]+1;
+       dim[1]          = ext[3]-ext[2]+1;
+       dim[2]          = ext[5]-ext[4]+1;
+       mTotalMem -= dim[0]*dim[1]*dim[2]*unload->GetImage()->GetScalarSize();
+#endif
 
        GimmickMessage(5," ==> Total mem = "<<mTotalMem<<" Ko "<<std::endl);