]> Creatis software - bbtk.git/blobdiff - packages/vtk/src/bbvtkUnMosaic.cxx
Feature #1654 Added a box refreshing a renderer.
[bbtk.git] / packages / vtk / src / bbvtkUnMosaic.cxx
index a28daaf9fc69d1aca38352b608b1782ac28e9aed..b449f144623ebf411a0d06d133fd4e625e494116 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbvtkUnMosaic.cxx,v $
   Language:  C++
-  Date:      $Date: 2010/10/05 14:33:49 $
-  Version:   $Revision: 1.1 $
+  Date:      $Date: 2011/05/31 09:39:11 $
+  Version:   $Revision: 1.3 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -85,7 +85,6 @@ namespace bbvtk
  ///
    void UnMosaic::Process()
    {
-
        int nbImagesPerRow =   (unsigned int)bbGetInputNbImagesPerRow();
        int nbImagesInMosaic = (unsigned int)bbGetInputNbImagesInMosaic();      
 
@@ -103,7 +102,7 @@ namespace bbvtk
    }
 
 
-vtkImageData * unMosaic(vtkImageData *imageIn, int nbImagesPerRow, int numberOfImagesInMosaic)
+vtkImageData * UnMosaic::unMosaic(vtkImageData *imageIn, int nbImagesPerRow, int numberOfImagesInMosaic)
 {   
    int inputdims[3];
    int outputdims[3];
@@ -130,18 +129,18 @@ vtkImageData * unMosaic(vtkImageData *imageIn, int nbImagesPerRow, int numberOfI
     unsigned short *output =(unsigned short *)(vtkImageOut->GetScalarPointer());
 
     unsigned short *dest = output;
-    int lgrLigne = outputdims[0];
-    int lgrImage = lgrLigne*outputdims[1]; //*sizeof(unsigned short);
+    int dimXImageElem = outputdims[0];
+    int dimYImageElem = outputdims[1];
+    int lgrImage = dimXImageElem*dimYImageElem;
     int debImage;
     for (int i=0; i<numberOfImagesInMosaic; i++)
     {
-       //debImage=(i%nbImagesPerRow) * lgrImage*nbImagesPerRow + (i%nbImagesPerRow)*lgrLigne;
-       debImage=(i/nbImagesPerRow) * lgrImage*nbImagesPerRow + (i%nbImagesPerRow)*lgrLigne;
-       for(int j=0; j<outputdims[1]; j++)
+       debImage=(i/nbImagesPerRow) * lgrImage*nbImagesPerRow + (i%nbImagesPerRow)*dimXImageElem;
+       for(int j=0; j<dimYImageElem; j++)
        {
-          memcpy(dest, input+debImage, lgrLigne*sizeof(unsigned short));
-          debImage += lgrLigne*nbImagesPerRow;
-          dest += lgrLigne;
+          memcpy(dest, input+debImage, dimXImageElem*sizeof(unsigned short));
+          debImage += dimXImageElem*nbImagesPerRow;
+          dest += dimXImageElem;
        }
     }
     return  vtkImageOut;