X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FEditorGraphicBBS%2FbbsKernelEditorGraphic%2FGBlackBoxModel.cxx;h=7eb35180731366b3fb4463de71192b919f300561;hb=de7c0454ab8fc1b0b97dcd7112dfdb4a55ac0215;hp=aa3675e35b46b8d5ca7e56c936af2c1092fc49ef;hpb=64fc9f949ff91d6e9d448ca0567e6205ee4d5be4;p=bbtkGEditor.git diff --git a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.cxx b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.cxx index aa3675e..7eb3518 100644 --- a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.cxx +++ b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.cxx @@ -28,33 +28,205 @@ Version: $Revision$ * knowledge of the CeCILL-B license and that you accept its terms. * ------------------------------------------------------------------------ */ -/** -* \file -* \brief Class bbtk::GBlackBox -*/ +/**** +* Design and Developpement of BBTK GEditor +* Ricardo A Corredor J +* RaC - 2010 +****/ + #include "GBlackBoxModel.h" namespace bbtk { + //========================================================================= + GBlackBoxModel::GBlackBoxModel() + { + _isExecutable = false; + } //========================================================================= - GBlackBoxModel::GBlackBoxModel() + + GBlackBoxModel::~GBlackBoxModel() + { + } + + //========================================================================= + + std::string GBlackBoxModel::getBBTKPackage() { + return _bbtkPackage; + } + //========================================================================= + + void GBlackBoxModel::setBBTKPackage(std::string obpackage) + { + _bbtkPackage = obpackage; + } + + //========================================================================= + + bool GBlackBoxModel::isExecutable() + { + return _isExecutable; + } + + //========================================================================= + + void GBlackBoxModel::setExecutable(bool executable) + { + _isExecutable = executable; + } + + //========================================================================= + + std::string GBlackBoxModel::getStatusText() + { + std::string temp = ""; + temp+=_bbtkPackage; + temp+=":"; + temp+=_bbtkType; + temp+=":"; + temp+=_bbtkName; + return temp; } //========================================================================= - GBlackBoxModel::~GBlackBoxModel() + + void GBlackBoxModel::setValueToInputPort(int pos,std::string value) + { + _inputs[pos]->setValue(value); + } + + //========================================================================= + + void GBlackBoxModel::save(std::string &content) + { + content+="BOX\n"; + // Box info + content+=_bbtkPackage; + content+=":"; + content+=_bbtkType; + content+=":"; + content+=_bbtkName; + content+="\n"; + content+="ISEXEC:"; + if(_isExecutable) + { + content+="TRUE"; + } + else + { + content+="FALSE"; + } + content+="\n"; + + + //Box Position + char buffer [50]; + sprintf (buffer, "%f", _xInic); + content+=buffer; + content+=":"; + sprintf (buffer, "%f", _yInic); + content+=buffer; + content+=":"; + sprintf (buffer, "%f", _zInic); + content+=buffer; + content+="\n"; + + sprintf (buffer, "%f", _xFin); + content+=buffer; + content+=":"; + sprintf (buffer, "%f", _yFin); + content+=buffer; + content+=":"; + sprintf (buffer, "%f", _zFin); + content+=buffer; + content+="\n"; + + //Ports with a value + for(int i = 0; i<(int)_inputs.size();i++) + { + if(_inputs[i]->isValueSet()) + { + _inputs[i]->save(content); + } + } + content+="FIN_BOX\n"; + + } + + //========================================================================= + + void GBlackBoxModel::setValueToInput(std::string name,std::string value) { + for(int i = 0; i<(int)_inputs.size();i++) + { + if(_inputs[i]->getBBTKName()==name) + { + _inputs[i]->setValue(value); + } + } } + //========================================================================= + std::string GBlackBoxModel::getValueInputPort(int pos) + { + std::string text = _inputs[pos]->getValue(); + return text; + } -} // EO namespace bbtk + //========================================================================= + + std::string GBlackBoxModel::getValueInput(std::string name) + { + for(int i = 0; i<(int)_inputs.size();i++) + { + if(_inputs[i]->getBBTKName()==name) + { + return _inputs[i]->getValue(); + } + } + return NULL; + } + + //========================================================================= + + std::vector GBlackBoxModel::getConnectedInputs() + { + std::vector connected; + for(int i = 0; i<(int)_inputs.size();i++) + { + if(_inputs[i]->isConnected()) + { + connected.push_back(i); + } + } + return connected; + } + + //========================================================================= + + std::vector GBlackBoxModel::getConnectedOutputs() + { + std::vector connected; + for(int i = 0; i<(int)_outputs.size();i++) + { + if(_outputs[i]->isConnected()) + { + connected.push_back(i); + } + } + return connected; + } + + //========================================================================= +} // EO namespace bbtk // EOF