X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkInterpreterPy.cxx;fp=kernel%2Fsrc%2FbbtkInterpreterPy.cxx;h=95900b42ff40bb6b807b8fa08e004e5bae337061;hb=dfcd0b84f01eb96e43c2180a35d626cc123a7231;hp=0000000000000000000000000000000000000000;hpb=0476f1d3892556c0aba6a68346a72e8400a68db7;p=bbtk.git diff --git a/kernel/src/bbtkInterpreterPy.cxx b/kernel/src/bbtkInterpreterPy.cxx new file mode 100644 index 0000000..95900b4 --- /dev/null +++ b/kernel/src/bbtkInterpreterPy.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 "bbtkInterpreterPy.h" + +#include "bbtkExecuter.h" +#include "bbtkMessageManager.h" +#include "bbtkFactory.h" +#include "bbtkUtilities.h" + +namespace bbtk +{ + + //========================================================================= + InterpreterPy::Pointer InterpreterPy::New() + { + return MakePointer( new InterpreterPy() ); + } + //========================================================================= + + + + //========================================================================= + InterpreterPy::InterpreterPy() + { + bbtk::InterpreterVirtual::Init(); + } + //========================================================================= + + //========================================================================= + InterpreterPy::~InterpreterPy() + { + } + //========================================================================= + + + //========================================================================= + /// Creates a new black box in current complex box + void InterpreterPy::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 InterpreterPy::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 InterpreterPy::commandInput(const std::string &name,const std::string &box,const std::string &input,const std::string &help) + { + } + //========================================================================= + + //========================================================================= + void InterpreterPy::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 InterpreterPy::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 InterpreterPy::commandDefine(const std::string &name,const std::string &pack,const std::string &scriptfilename) // virtual + { + } + //========================================================================= + + + //========================================================================= + void InterpreterPy::commandEndDefine() // virtual + { + } + //========================================================================= + + + //========================================================================= + void InterpreterPy::commandExec(const std::string &word) // virtual + { + //Ex: mCB.AddToExecutableLst("Box13") + std::string code("AddToExecutableLst('"+word+"')"); + this->pythonBBTK.push_back(code); + } + //========================================================================= + + + //========================================================================= + void InterpreterPy::commandAuthor(const std::string &author) // virtual + { + } + //========================================================================= + + //========================================================================= + void InterpreterPy::commandCategory(const std::string &categorytype) // virtual + { + } + //========================================================================= + + //========================================================================= + void InterpreterPy::commandDescription(const std::string &description) // virtual + { + } + //========================================================================= + +} // EO namespace bbtk + +// EOF +