]> Creatis software - bbtk.git/blobdiff - packages/std/src/bbstdTransposeVectors.h
#3120 BBTK Bug New Normal - merge branch changestoITK3and4 FROM master
[bbtk.git] / packages / std / src / bbstdTransposeVectors.h
diff --git a/packages/std/src/bbstdTransposeVectors.h b/packages/std/src/bbstdTransposeVectors.h
new file mode 100644 (file)
index 0000000..3ebc049
--- /dev/null
@@ -0,0 +1,196 @@
+//===== 
+// 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)
+//===== 
+#ifndef __bbstdTransposeVectors_h_INCLUDED__
+#define __bbstdTransposeVectors_h_INCLUDED__
+#include "bbstd_EXPORT.h"
+#include "bbtkAtomicBlackBox.h"
+#include "iostream"
+
+namespace bbstd
+{
+template <class T>
+class bbstd_EXPORT TransposeVectors
+ : 
+   public bbtk::AtomicBlackBox
+{
+  BBTK_TEMPLATE_BLACK_BOX_INTERFACE(TransposeVectors,bbtk::AtomicBlackBox,T);
+
+//===== 
+// 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)
+//===== 
+  BBTK_DECLARE_INPUT(In0,std::vector<T>);
+  BBTK_DECLARE_INPUT(In1,std::vector<T>);
+  BBTK_DECLARE_INPUT(In2,std::vector<T>);
+  BBTK_DECLARE_INPUT(In3,std::vector<T>);
+  BBTK_DECLARE_INPUT(In4,std::vector<T>);
+  BBTK_DECLARE_INPUT(In5,std::vector<T>);
+  BBTK_DECLARE_INPUT(In6,std::vector<T>);
+  BBTK_DECLARE_INPUT(In7,std::vector<T>);
+  BBTK_DECLARE_INPUT(In8,std::vector<T>);
+  BBTK_DECLARE_INPUT(In9,std::vector<T>);
+  BBTK_DECLARE_OUTPUT(Out0,std::vector<T>);
+  BBTK_DECLARE_OUTPUT(Out1,std::vector<T>);
+  BBTK_DECLARE_OUTPUT(Out2,std::vector<T>);
+  BBTK_DECLARE_OUTPUT(Out3,std::vector<T>);
+  BBTK_DECLARE_OUTPUT(Out4,std::vector<T>);
+  BBTK_DECLARE_OUTPUT(Out5,std::vector<T>);
+  BBTK_DECLARE_OUTPUT(Out6,std::vector<T>);
+  BBTK_DECLARE_OUTPUT(Out7,std::vector<T>);
+  BBTK_DECLARE_OUTPUT(Out8,std::vector<T>);
+  BBTK_DECLARE_OUTPUT(Out9,std::vector<T>);
+  BBTK_PROCESS(DoIt);
+  void DoIt();
+//===== 
+// 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)
+//===== 
+};
+BBTK_BEGIN_DESCRIBE_TEMPLATE_BLACK_BOX(TransposeVectors,bbtk::AtomicBlackBox);
+  BBTK_NAME("TransposeVector"+bbtk::HumanTypeName<std::vector<T> >());
+  BBTK_AUTHOR("Info-Dev");
+  BBTK_DESCRIPTION("No Description.");
+  BBTK_CATEGORY("empty");
+
+
+  typedef std::vector<T> Tvector;      
+  BBTK_TEMPLATE_INPUT(TransposeVectors,In0,"Vector input",Tvector);
+  BBTK_TEMPLATE_INPUT(TransposeVectors,In1,"Vector input",Tvector);
+  BBTK_TEMPLATE_INPUT(TransposeVectors,In2,"Vector input",Tvector);
+  BBTK_TEMPLATE_INPUT(TransposeVectors,In3,"Vector input",Tvector);
+  BBTK_TEMPLATE_INPUT(TransposeVectors,In4,"Vector input",Tvector);
+  BBTK_TEMPLATE_INPUT(TransposeVectors,In5,"Vector input",Tvector);
+  BBTK_TEMPLATE_INPUT(TransposeVectors,In6,"Vector input",Tvector);
+  BBTK_TEMPLATE_INPUT(TransposeVectors,In7,"Vector input",Tvector);
+  BBTK_TEMPLATE_INPUT(TransposeVectors,In8,"Vector input",Tvector);
+  BBTK_TEMPLATE_INPUT(TransposeVectors,In9,"Vector input",Tvector);
+
+  BBTK_TEMPLATE_OUTPUT(TransposeVectors,Out0,"Vector output",Tvector);
+  BBTK_TEMPLATE_OUTPUT(TransposeVectors,Out1,"Vector output",Tvector);
+  BBTK_TEMPLATE_OUTPUT(TransposeVectors,Out2,"Vector output",Tvector);
+  BBTK_TEMPLATE_OUTPUT(TransposeVectors,Out3,"Vector output",Tvector);
+  BBTK_TEMPLATE_OUTPUT(TransposeVectors,Out4,"Vector output",Tvector);
+  BBTK_TEMPLATE_OUTPUT(TransposeVectors,Out5,"Vector output",Tvector);
+  BBTK_TEMPLATE_OUTPUT(TransposeVectors,Out6,"Vector output",Tvector);
+  BBTK_TEMPLATE_OUTPUT(TransposeVectors,Out7,"Vector output",Tvector);
+  BBTK_TEMPLATE_OUTPUT(TransposeVectors,Out8,"Vector output",Tvector);
+  BBTK_TEMPLATE_OUTPUT(TransposeVectors,Out9,"Vector output",Tvector);
+
+BBTK_END_DESCRIBE_TEMPLATE_BLACK_BOX(TransposeVectors);
+
+
+ //=================================================================
+  template <class T>
+  void TransposeVectors<T>::DoIt()
+  {
+       unsigned int i,j;
+       std::vector<T> tmpVec;
+       
+       std::vector<T> out0;
+       std::vector<T> out1;
+       std::vector<T> out2;
+       std::vector<T> out3;
+       std::vector<T> out4;
+       std::vector<T> out5;
+       std::vector<T> out6;
+       std::vector<T> out7;
+       std::vector<T> out8;
+       std::vector<T> out9;
+
+       unsigned int jSize=0;
+
+       unsigned int s0 = bbGetInputIn0().size();
+       unsigned int s1 = bbGetInputIn1().size();
+       unsigned int s2 = bbGetInputIn2().size();
+       unsigned int s3 = bbGetInputIn3().size();
+       unsigned int s4 = bbGetInputIn4().size();
+       unsigned int s5 = bbGetInputIn5().size();
+       unsigned int s6 = bbGetInputIn6().size();
+       unsigned int s7 = bbGetInputIn7().size();
+       unsigned int s8 = bbGetInputIn8().size();
+       unsigned int s9 = bbGetInputIn9().size();
+
+
+       if (s0>0)       {               jSize++;        }
+       if (s1>0)       {               jSize++;        }
+       if (s2>0)       {               jSize++;        }
+       if (s3>0)       {               jSize++;        }
+       if (s4>0)       {               jSize++;        }
+       if (s5>0)       {               jSize++;        }
+       if (s6>0)       {               jSize++;        }
+       if (s7>0)       {               jSize++;        }
+       if (s8>0)       {               jSize++;        }
+       if (s9>0)       {               jSize++;        }
+
+
+       for (j=0;j<jSize;j++)
+       {
+
+           if (j==0){ tmpVec = bbGetInputIn0(); }
+           if (j==1){ tmpVec = bbGetInputIn1(); }
+           if (j==2){ tmpVec = bbGetInputIn2(); }
+           if (j==3){ tmpVec = bbGetInputIn3(); }
+           if (j==4){ tmpVec = bbGetInputIn4(); }
+           if (j==5){ tmpVec = bbGetInputIn5(); }
+           if (j==6){ tmpVec = bbGetInputIn6(); }
+           if (j==7){ tmpVec = bbGetInputIn7(); }
+           if (j==8){ tmpVec = bbGetInputIn8(); }
+           if (j==9){ tmpVec = bbGetInputIn9(); }
+               for (i=0;i<s0;i++)
+               {
+                       if (tmpVec.size()<=s0 )
+                       {
+                               if (i==0){ out0.push_back( tmpVec[i] ); }  
+                               if (i==1){ out1.push_back( tmpVec[i] ); }  
+                               if (i==2){ out2.push_back( tmpVec[i] ); }  
+                               if (i==3){ out3.push_back( tmpVec[i] ); }  
+                               if (i==4){ out4.push_back( tmpVec[i] ); }  
+                               if (i==5){ out5.push_back( tmpVec[i] ); }  
+                               if (i==6){ out6.push_back( tmpVec[i] ); }  
+                               if (i==7){ out7.push_back( tmpVec[i] ); }  
+                               if (i==8){ out8.push_back( tmpVec[i] ); }  
+                               if (i==9){ out9.push_back( tmpVec[i] ); }  
+                       } // if //tmpVec size
+               }// for i
+       } // for j
+       bbSetOutputOut0(out0);
+       bbSetOutputOut1(out1);
+       bbSetOutputOut2(out2);
+       bbSetOutputOut3(out3);
+       bbSetOutputOut4(out4);
+       bbSetOutputOut5(out5);
+       bbSetOutputOut6(out6);
+       bbSetOutputOut7(out7);
+       bbSetOutputOut8(out8);
+       bbSetOutputOut9(out9);
+  }
+  //=================================================================
+
+  //=================================================================  
+  template <class T>
+  void TransposeVectors<T>::bbUserSetDefaultValues()
+  {
+  }
+  //=================================================================
+  template <class T>
+  void TransposeVectors<T>::bbUserInitializeProcessing() 
+  { 
+  }
+  //=================================================================
+  template <class T>
+  void TransposeVectors<T>::bbUserFinalizeProcessing() 
+  {
+  }
+  //=================================================================
+
+
+
+
+
+//===== 
+// 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)
+//===== 
+}
+// EO namespace bbstd
+
+#endif // __bbstdTransposeVectors_h_INCLUDED__
+