]> Creatis software - bbtk.git/blobdiff - packages/std/src/bbstdVectorFilterDouble.cxx
#3290 BBTK Feature New Normal - VectorFilterDounble invert option 9
[bbtk.git] / packages / std / src / bbstdVectorFilterDouble.cxx
index 63d22719334da7b6bb2062b1bef187f4811664d7..ffed94ac2ef729909a3aec9b4459d736abe7cd15 100644 (file)
@@ -279,7 +279,6 @@ void VectorFilterDouble::Process()
 
        if (bbGetInputType()==8)   // order all vectors using as base the vector In0
        {
-printf("EED VectorFilterDouble::Process Type 8 Start\n");
                double tmp;
                int i,j,ii,sizeII;
                sizeII=pLstVec.size();
@@ -305,17 +304,40 @@ printf("EED VectorFilterDouble::Process Type 8 Start\n");
                                                tmp = (*pLstVecOut[ii])[i]; 
                                                (*pLstVecOut[ii])[i] = (*pLstVecOut[ii])[j]; 
                                                (*pLstVecOut[ii])[j] = tmp; 
-//                                             tmp=Out0[i]; Out0[i]=Out0[j]; Out0[j]=tmp; 
-                                       }
-                               }
+                                       } // for ii
+                               } // if <
                        } // for j
                } // for i
-printf("EED VectorFilterDouble::Process Type 8 End\n");
-
        } // Type 8
 
 
+       if (bbGetInputType()==9)   // Invert vectors
+       {
+               double tmp;
+               int i,j,ii,sizeII;
+               sizeII=pLstVec.size();
+
+               int size=In0.size();
+               int size2=size/2;
+               for (i=0;i<size; i++)
+               {
+                       for (ii=0;ii<sizeII;ii++)
+                       {
+                                (*pLstVecOut[ii]).push_back( (*pLstVec[ii])[i] ); 
+                       } // for ii
+               } // i
 
+               for (i=0;i<size2;i++)
+               {
+                       for (ii=0;ii<sizeII;ii++)
+                       {
+                               j=size-1-i;     
+                               tmp = (*pLstVecOut[ii])[i]; 
+                               (*pLstVecOut[ii])[i] = (*pLstVecOut[ii])[ j ]; 
+                               (*pLstVecOut[ii])[j] = tmp; 
+                       } // for ii
+               } // for i
+       } // Type 9
 
        bbSetOutputOut0( Out0 );
        bbSetOutputOut1( Out1 );