]> Creatis software - bbtk.git/blobdiff - packages/vtk/src/bbvtkAutoCrop.cxx
#3107 BBTK Bug New Normal - branch vtk7itk4 compilation with vtk7
[bbtk.git] / packages / vtk / src / bbvtkAutoCrop.cxx
index 97d8387e2e37289312f0a19e9ced6c6405575b07..703366e55fe5068ac6b6e023bc5f1b2033a2f4d6 100644 (file)
@@ -1,4 +1,31 @@
-//===== 
+/*
+ # ---------------------------------------------------------------------
+ #
+ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+ #                        pour la SantÈ)
+ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
+ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+ #
+ #  This software is governed by the CeCILL-B license under French law and
+ #  abiding by the rules of distribution of free software. You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL-B
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+ #  or in the file LICENSE.txt.
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL-B license and that you accept its terms.
+ # ------------------------------------------------------------------------ */
+
+
+//=====
 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
 //===== 
 #include "bbvtkAutoCrop.h"
@@ -14,8 +41,6 @@ BBTK_BLACK_BOX_IMPLEMENTATION(AutoCrop,bbtk::AtomicBlackBox);
 void AutoCrop::Process()
 {
 
-       printf("EED  AutoCrop::Process Start\n");               
-
 // THE MAIN PROCESSING METHOD BODY
 //   Here we simply set the input 'In' value to the output 'Out'
 //   And print out the output value
@@ -32,30 +57,41 @@ void AutoCrop::Process()
        int i,j,k;
        int sizeX,sizeY,sizeZ;
 
-       if (bbGetInputIn()!=NULL){
-               bbGetInputIn()->Update();
+       if (bbGetInputIn()!=NULL)
+       {
                int ext[6];
+
+//EED 2017-01-01 Migration VTK7
+#if (VTK_MAJOR_VERSION <= 5) 
+               bbGetInputIn()->Update();
                bbGetInputIn()->GetWholeExtent(ext);
+#endif
+#if (VTK_MAJOR_VERSION >= 6) 
+               bbGetInputIn()->GetExtent(ext);
+#endif
+
                sizeX=ext[1]-ext[0]+1;
                sizeY=ext[3]-ext[2]+1;
-               sizeZ=ext[5]-ext[4]+1;
-               
+               sizeZ=ext[5]-ext[4]+1;          
                sizeX=(sizeX/2)*2;
                sizeY=(sizeY/2)*2;
-//             if (_newImage==NULL)
-//             {
-                       _newImage = vtkImageData::New();
-                       _newImage->Initialize();
-                       _newImage->SetScalarType( bbGetInputIn()->GetScalarType() );
-                       _newImage->SetSpacing( bbGetInputIn()->GetSpacing() );
-                       _newImage->SetNumberOfScalarComponents( bbGetInputIn()->GetNumberOfScalarComponents() );
-                       _newImage->SetDimensions(  sizeX,sizeY,sizeZ );
-                   _newImage->SetWholeExtent(0,sizeX-1,0,sizeY-1,0,sizeZ-1);
-                       _newImage->AllocateScalars();
-//             }
-       
-
-               
+               _newImage = vtkImageData::New();
+               _newImage->Initialize();
+               _newImage->SetSpacing( bbGetInputIn()->GetSpacing() );
+               _newImage->SetDimensions(  sizeX,sizeY,sizeZ );
+
+
+//EED 2017-01-01 Migration VTK7
+#if (VTK_MAJOR_VERSION <= 5) 
+               _newImage->SetWholeExtent(0,sizeX-1,0,sizeY-1,0,sizeZ-1);
+               _newImage->SetNumberOfScalarComponents( bbGetInputIn()->GetNumberOfScalarComponents() );
+               _newImage->SetScalarType( bbGetInputIn()->GetScalarType() );
+               _newImage->AllocateScalars();
+#endif
+#if (VTK_MAJOR_VERSION >= 6) 
+               _newImage->SetExtent(0,sizeX-1,0,sizeY-1,0,sizeZ-1);
+               _newImage->AllocateScalars(bbGetInputIn()->GetScalarType(),1);
+#endif
                for (i=0; i<sizeX; i++) 
                {
                         for (j=0; j<sizeY; j++)
@@ -66,12 +102,9 @@ void AutoCrop::Process()
                                        _newImage->SetScalarComponentFromDouble(i,j,k, 0, value );
                                } // for k
                        } // for j
-               } // for i
-                        
-       }// bbGetInputIn
-                        
+               } // for i                      
+       }// bbGetInputIn                         
    bbSetOutputOut(_newImage);
-               
 }
 //===== 
 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)