--- /dev/null
+/*
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+# pour la Santé)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+#
+# This software is governed by the CeCILL-B license under French law and
+# abiding by the rules of distribution of free software. You can use,
+# modify and/ or redistribute the software under the terms of the CeCILL-B
+# license as circulated by CEA, CNRS and INRIA at the following URL
+# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+# or in the file LICENSE.txt.
+#
+# As a counterpart to the access to the source code and rights to copy,
+# modify and redistribute granted by the license, users are provided only
+# with a limited warranty and the software's author, the holder of the
+# economic rights, and the successive licensors have only limited
+# liability.
+#
+# The fact that you are presently reading this means that you have had
+# knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------
+ */
+
+/*=========================================================================
+Program: bbtk
+Module: $RCSfile$
+Language: C++
+Date: $Date$
+Version: $Revision$
+=========================================================================*/
+
+
+/**
+ * \file
+ * \brief Class bbtk::BBPInterpreter
+ */
+
+
+#include "bbtkInterpreterPython.h"
+
+#include "bbtkExecuter.h"
+#include "bbtkMessageManager.h"
+#include "bbtkFactory.h"
+#include "bbtkUtilities.h"
+
+namespace bbtk
+{
+
+ //=========================================================================
+ InterpreterPython::Pointer InterpreterPython::New()
+ {
+ return MakePointer( new InterpreterPython() );
+ }
+ //=========================================================================
+
+
+
+ //=========================================================================
+ InterpreterPython::InterpreterPython()
+ {
+ bbtk::InterpreterVirtual::Init();
+ }
+ //=========================================================================
+
+ //=========================================================================
+ InterpreterPython::~InterpreterPython()
+ {
+ }
+ //=========================================================================
+
+
+ //=========================================================================
+ /// Creates a new black box in current complex box
+ void InterpreterPython::commandNew( const std::string& boxType, const std::string& boxName) // virtual
+ {
+ int pos = boxType.find( std::string(":") );
+ std::string boxTypeTmp=boxType;
+ boxTypeTmp.replace(pos,1,"_");
+ // ex: mCB.New( bbtkBlackBox.std_ConcatString("Box10") )
+ std::string code("New( "+boxTypeTmp+"('"+boxName+"') )");
+ this->pythonBBTK.push_back(code);
+ }
+ //=========================================================================
+
+
+ //=========================================================================
+ /// Connects the output boxOutput to the input boxInput
+ void InterpreterPython::commandConnection (const std::string &boxfrom,
+ const std::string &output,
+ const std::string &boxto,
+ const std::string &input) // virtual
+ {
+ //ex: mCB.Connection( "Box10" , "Out", "Box11", "In")
+ std::string code("Connection('"+boxfrom+"','"+output+"','"+boxto+"','"+input+"')");
+ this->pythonBBTK.push_back(code);
+ }
+ //=========================================================================
+
+ //=========================================================================
+ void InterpreterPython::commandInput(const std::string &name,const std::string &box,const std::string &input,const std::string &help)
+ {
+ }
+ //=========================================================================
+
+ //=========================================================================
+ void InterpreterPython::commandOutput(const std::string &name,const std::string &box,const std::string &output,const std::string &help)
+ {
+ }
+ //=========================================================================
+
+
+ //=========================================================================
+ /// 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
+ {
+ //ex: mCB.Set("Box10","In2","/hola.mhd")
+ std::string code("Set('"+box+"','"+input+"','"+value+"')");
+ this->pythonBBTK.push_back(code);
+ }
+ //=========================================================================
+
+
+ //=========================================================================
+ void InterpreterPython::commandDefine(const std::string &name,const std::string &pack,const std::string &scriptfilename) // virtual
+ {
+ }
+ //=========================================================================
+
+
+ //=========================================================================
+ void InterpreterPython::commandEndDefine() // virtual
+ {
+ }
+ //=========================================================================
+
+
+ //=========================================================================
+ void InterpreterPython::commandExec(const std::string &word) // virtual
+ {
+ //Ex: mCB.AddToExecutableLst("Box13")
+ std::string code("AddToExecutableLst('"+word+"')");
+ this->pythonBBTK.push_back(code);
+ }
+ //=========================================================================
+
+
+ //=========================================================================
+ void InterpreterPython::commandAuthor(const std::string &author) // virtual
+ {
+ }
+ //=========================================================================
+
+ //=========================================================================
+ void InterpreterPython::commandCategory(const std::string &categorytype) // virtual
+ {
+ }
+ //=========================================================================
+
+ //=========================================================================
+ void InterpreterPython::commandDescription(const std::string &description) // virtual
+ {
+ }
+ //=========================================================================
+
+} // EO namespace bbtk
+
+// EOF
+