X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=kernel%2Fsrc%2FbbtkInterpreterPython.cxx;fp=kernel%2Fsrc%2FbbtkInterpreterPython.cxx;h=68cce9441c264f434304a0ab7a4b459a2ebbfadb;hb=103f8756e4e48f909eb4f6db115043d5b08c6f1d;hp=0000000000000000000000000000000000000000;hpb=dfcd0b84f01eb96e43c2180a35d626cc123a7231;p=bbtk.git diff --git a/kernel/src/bbtkInterpreterPython.cxx b/kernel/src/bbtkInterpreterPython.cxx new file mode 100644 index 0000000..68cce94 --- /dev/null +++ b/kernel/src/bbtkInterpreterPython.cxx @@ -0,0 +1,170 @@ +/* +# --------------------------------------------------------------------- +# +# 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 +