]> Creatis software - creaMaracasVisu.git/blobdiff - bbtk/src/bbcreaMaracasVisuSliceImage.cxx
#3316 creaVtk Feature New - NormalVoiMPR box
[creaMaracasVisu.git] / bbtk / src / bbcreaMaracasVisuSliceImage.cxx
index 03cbf7295ae4d78e352b19927b4e2ac3ff3398dd..a354dfa3fe47d249e4101949d46ef4870980fa52 100644 (file)
@@ -39,10 +39,22 @@ void SliceImage::Process()
        //std::cout<<"MSJ: test SliceImage::Process()"<<this<<std::endl;
        if ( bbGetInputIn()!=NULL )
        {
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
          imageReslice->SetInput( bbGetInputIn() );
-         imageReslice->SetInformationInput(bbGetInputIn() );
+#else
+         imageReslice->SetInputData( bbGetInputIn() );
+#endif
 
+         imageReslice->SetInformationInput(bbGetInputIn() );
 
+         double slice=bbGetInputSlice();
+         if (slice<0) 
+          { 
+               slice=0;
+          } 
+       
          if (bbGetInputTypeOrientation()==3)
          {
                // Orientation 3 = FREE
@@ -60,7 +72,7 @@ void SliceImage::Process()
                                                              bbGetInputResliceAxesDirectionCosines()[5],  // v2z
                                                              bbGetInputResliceAxesDirectionCosines()[8]   // v3z
                                                            );  
-              imageReslice->SetResliceAxesOrigin( bbGetInputSlice()*bbGetInputIn()->GetSpacing()[0] ,0 ,0);
+              imageReslice->SetResliceAxesOrigin( slice*bbGetInputIn()->GetSpacing()[0] ,0 ,0);
          } else if (bbGetInputTypeOrientation()==2)
          {
                // Orientation 2 = YZ
@@ -69,7 +81,7 @@ void SliceImage::Process()
                // v3 = [ 0 ,-1 , 0 ]
                // SetResliceAxesDirectionCosines(v1x,v2x,v3x,v1y,v2y,v3y,v1z,v2z,v3z);
               imageReslice->SetResliceAxesDirectionCosines(0,1,0, 0,0,-1 ,-1,0,0);  
-              imageReslice->SetResliceAxesOrigin( bbGetInputSlice()*bbGetInputIn()->GetSpacing()[0] ,0 ,0);
+              imageReslice->SetResliceAxesOrigin( slice*bbGetInputIn()->GetSpacing()[0] ,0 ,0);
          } else if (bbGetInputTypeOrientation()==1) {     
                // Orientation 1 = XZ
                // v1 = [ 1 , 0 , 0 ]
@@ -77,7 +89,7 @@ void SliceImage::Process()
                // v3 = [ 0 ,-1 , 0 ]
                // SetResliceAxesDirectionCosines(v1x,v2x,v3x,v1y,v2y,v3y,v1z,v2z,v3z);
               imageReslice->SetResliceAxesDirectionCosines(1,0,0, 0,0,-1 ,0,1,0); 
-              imageReslice->SetResliceAxesOrigin(0, bbGetInputSlice()*bbGetInputIn()->GetSpacing()[1],0 );
+              imageReslice->SetResliceAxesOrigin(0, slice*bbGetInputIn()->GetSpacing()[1],0 );
          } else    
          {
                // Orientation 0 = XY
@@ -86,13 +98,22 @@ void SliceImage::Process()
                // v3 = [ 0 , 0 , 1 ]
                // SetResliceAxesDirectionCosines(v1x,v2x,v3x,v1y,v2y,v3y,v1z,v2z,v3z);
               imageReslice->SetResliceAxesDirectionCosines(1,0,0, 0,1,0 ,0,0,1);   
-              imageReslice->SetResliceAxesOrigin(0,0, bbGetInputSlice()*bbGetInputIn()->GetSpacing()[2] );
+              imageReslice->SetResliceAxesOrigin(0,0, slice*bbGetInputIn()->GetSpacing()[2] );
          } 
          imageReslice->SetOutputDimensionality(2);
          imageReslice->SetInterpolationModeToLinear();
+
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
          imagedata = imageReslice->GetOutput();
          imagedata->Update();
          imagedata->UpdateInformation();       
+#else
+         imageReslice->Update();
+         imagedata = imageReslice->GetOutput();
+#endif
+
        }
   bbSetOutputOut( imagedata );
 }