]> Creatis software - bbtk.git/commitdiff
#3498 Export to Python code for 3DSlicer
authoreduardo.davila@creatis.insa-lyon.fr <eduardo.davila@creatis.insa-lyon.fr>
Tue, 31 Oct 2023 12:04:44 +0000 (13:04 +0100)
committereduardo.davila@creatis.insa-lyon.fr <eduardo.davila@creatis.insa-lyon.fr>
Tue, 31 Oct 2023 12:04:44 +0000 (13:04 +0100)
kernel/appli/bbs2cpp/bbs2.cxx
kernel/src/bbtkInterpreterPython.cxx
packages/std/src/bbstdFilesFromDirectory.h

index e0b303c66f86faafa706245c1c1810a94aadd4cd..305efbf691cf2989ddf126cfb181da5ae3e60dd2 100644 (file)
@@ -86,16 +86,21 @@ int main(int argc, char* argv[])
              I->InterpretFile(argv[1]);
              std::vector<std::string> pythonBBTK=  ((bbtk::InterpreterPython*)(I.get()))->pythonBBTK  ;
              FILE *ff=fopen(file.c_str(),"w+");
+             fprintf(ff,"\n" );
              fprintf(ff,"from bbtk.bbtkBlackBox import *\n" );
+             fprintf(ff,"\n" );
              fprintf(ff,"class %s:\n",fileBase.c_str() );
+             fprintf(ff,"\n" );
+             fprintf(ff,"    def __init__(self):\n" );
+             fprintf(ff,"        self.mCBpy  =  ComplexBlackBox('appliTest03')\n" );
+             fprintf(ff,"\n" );
              fprintf(ff,"    def Run(self):\n" );
-             fprintf(ff,"        mCBpy  =  ComplexBlackBox('%s')\n",fileBase.c_str());
              int i,size=pythonBBTK.size();
              for (i=0; i<size;i++)
              {
-                 fprintf(ff,"        mCBpy.%s\n", pythonBBTK[i].c_str() );
+                 fprintf(ff,"        self.mCBpy.%s\n", pythonBBTK[i].c_str() );
              }// for i
-             fprintf(ff,"        mCBpy.Execute()\n" );
+             fprintf(ff,"        self.mCBpy.Execute()\n" );
              fclose(ff);
          } catch (bbtk::Exception e) {
              e.Print();
index 68cce9441c264f434304a0ab7a4b459a2ebbfadb..f13ded800b348677874e61d6ac126b9abf2ca91b 100644 (file)
@@ -37,7 +37,6 @@ Version:   $Revision$
  *  \brief Class bbtk::BBPInterpreter
  */
 
-
 #include "bbtkInterpreterPython.h"
 
 #include "bbtkExecuter.h"
@@ -55,8 +54,6 @@ namespace bbtk
     }
   //=========================================================================
 
-
-
   //=========================================================================
     InterpreterPython::InterpreterPython()
     {
@@ -70,7 +67,6 @@ namespace bbtk
     }
   //=========================================================================
 
-
   //=========================================================================
   /// Creates a new black box in current complex box
   void InterpreterPython::commandNew( const std::string& boxType, const std::string& boxName) // virtual
@@ -84,7 +80,6 @@ namespace bbtk
   }
   //=========================================================================
 
-
   //=========================================================================
   /// Connects the output boxOutput to the input boxInput
   void InterpreterPython::commandConnection (const std::string &boxfrom,
@@ -107,10 +102,11 @@ namespace bbtk
   //=========================================================================
   void InterpreterPython::commandOutput(const std::string &name,const std::string &box,const std::string &output,const std::string  &help)
   {
+      std::string  code("DECLARE_OUTPUT('"+name+"','"+box+"."+output+"')");
+      this->pythonBBTK.push_back(code);
   }
   //=========================================================================
 
-
   //=========================================================================
   /// sets the input of the box with the value
   void InterpreterPython::commandSet(const std::string &box,const std::string &input,const std::string &value) // virtual
@@ -121,7 +117,6 @@ namespace bbtk
   }
   //=========================================================================
 
-
   //=========================================================================
   void InterpreterPython::commandDefine(const std::string &name,const std::string &pack,const std::string &scriptfilename) // virtual
   {
index f3b8671e3cc67a15ffeaebc4f4af2d14b68b75f7..3ba18ead3b8c19c2a21712776e3668d2ed437f0a 100644 (file)
@@ -67,7 +67,7 @@ namespace bbstd
   BBTK_BEGIN_DESCRIBE_BLACK_BOX(FilesFromDirectory,bbtk::AtomicBlackBox);
    BBTK_NAME("FilesFromDirectory");
    BBTK_AUTHOR("jpr@creatis.univ-lyon1.fr");
-   BBTK_DESCRIPTION("returns the fullPathNames of the files in a Directory");
+   BBTK_DESCRIPTION("returns the fullPathNames of the files in a Directory (C++,Python)");
    BBTK_CATEGORY("");
 
    BBTK_INPUT(FilesFromDirectory,Active,"(default true) Active true/false ",bool,"");