]> Creatis software - bbtk.git/blobdiff - packages/std/src/bbstdGetVectorPointer.h
#3483 adaptor from string to long and long to string
[bbtk.git] / packages / std / src / bbstdGetVectorPointer.h
index 931dc6675092a7598704a026a5f5b06dca8b5e42..7a6b60732cfb37b1a87737280dd6d373b92e8623 100644 (file)
@@ -50,9 +50,12 @@ namespace bbstd
     BBTK_TEMPLATE_BLACK_BOX_INTERFACE(GetVectorPointer,bbtk::AtomicBlackBox,T);
     BBTK_DECLARE_INPUT(In,std::vector<T>);
     BBTK_DECLARE_OUTPUT(PVec,std::vector<T>*);
+    BBTK_DECLARE_OUTPUT(Vec,std::vector<T>);
     BBTK_PROCESS(DoIt);
     void DoIt();
        std::vector<T> vec;
+      
+      bool firsttime;
   };
   //=================================================================
 
@@ -69,6 +72,7 @@ namespace bbstd
 //  BBTK_TEMPLATE_INPUT(GetVectorPointer, ErrorValue, "ErrorValue",T);
 //  BBTK_TEMPLATE_OUTPUT(GetVectorPointer,Out,"Output",T);
   BBTK_TEMPLATE_OUTPUT(GetVectorPointer,PVec,"Output Pointer Vector",std::vector<T>*);
+BBTK_TEMPLATE_OUTPUT(GetVectorPointer,Vec,"Output Vector",std::vector<T>);
   BBTK_END_DESCRIBE_TEMPLATE_BLACK_BOX(GetVectorPointer);
   //=================================================================
 
@@ -76,8 +80,10 @@ namespace bbstd
   template <class T>
   void GetVectorPointer<T>::DoIt()
   {
-         vec = bbGetInputIn();
+      if (firsttime==true)       vec = bbGetInputIn();
+      firsttime=false;
          bbSetOutputPVec( &vec );
+      bbSetOutputVec( vec );
   }
   //=================================================================
 
@@ -85,7 +91,7 @@ namespace bbstd
   template <class T>
   void GetVectorPointer<T>::bbUserSetDefaultValues()
   {
-
+      firsttime=true;
   }
   //=================================================================
   //=================================================================