]> Creatis software - bbtk.git/blobdiff - packages/std/src/bbstdVectorFilterDouble.cxx
#3063 BBTK Feature New Normal - New box VectorFilterDouble in std package
[bbtk.git] / packages / std / src / bbstdVectorFilterDouble.cxx
index af17d93af7d0d81ad4dc635f8b457a476a49359d..9a948a85367b3884d62c19964248e2a20502f9bb 100644 (file)
@@ -180,6 +180,46 @@ void VectorFilterDouble::Process()
                } // for pLstVec                
        } // Type==4
 
+       if (bbGetInputType()==5) // Multiplication  k1
+       {
+               int     ipLstvec;
+               int     i;
+               int     size;
+               double  result;
+               for (ipLstvec=0 ; ipLstvec<pLstVec.size() ; ipLstvec++)
+               {
+                       size=(*pLstVec[ipLstvec]).size();
+                       for (i=0;i<size;i++)
+                       {
+                               result= (*pLstVec[ipLstvec])[i] * bbGetInputk1() ;
+                               (*pLstVecOut[ipLstvec]).push_back( result );                            
+                       }// for size
+               } // for pLstVec                
+       } // Type==5
+
+       if (bbGetInputType()==6) // Division  k1
+       {
+               int     ipLstvec;
+               int     i;
+               int     size;
+               double  result;
+               for (ipLstvec=0 ; ipLstvec<pLstVec.size() ; ipLstvec++)
+               {
+                       size=(*pLstVec[ipLstvec]).size();
+                       for (i=0;i<size;i++)
+                       {
+                               if (bbGetInputk1()!=0)
+                               {
+                                       result= (*pLstVec[ipLstvec])[i] / bbGetInputk1() ;
+                                       (*pLstVecOut[ipLstvec]).push_back( result );                            
+                               } else {
+                                       printf("EED VectorFilterDouble::Process  Warning!! Div by 0 in Type 6 \n");
+                                       (*pLstVecOut[ipLstvec]).push_back( -1 );                                
+                               }
+                       }// for size
+               } // for pLstVec                
+       } // Type==6
+
        bbSetOutputOut0( Out0 );
        bbSetOutputOut1( Out1 );
        bbSetOutputOut2( Out2 );