-/*=========================================================================
+/*=========================================================================
Program: bbtk
Module: $RCSfile$
Language: C++
* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux
*
-* 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
+* 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.
+* 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.
-* ------------------------------------------------------------------------ */
+* ------------------------------------------------------------------------ */
/**
-* \file
-* \brief Class bbtk::InterpreterBBS
+* \file
+* \brief Class bbtk::InterpreterBBS
*/
#include "bbtkFactory.h"
#include "bbtkUtilities.h"
-
-
namespace bbtk
{
}
//=========================================================================
-
-
+
+
//=========================================================================
InterpreterBBS::InterpreterBBS( wxVtkSceneManager* sceneManager, Factory::Pointer factory )
- {
+ {
_factory = factory;
_sceneManager = sceneManager;
-
+
_xGeneral = -100;
_yGeneral = 100;
_zGeneral = 900; // ?????
_countOutputs = 0;
bbtk::InterpreterVirtual::Init();
-
+
}
//=========================================================================
-
+
//=========================================================================
InterpreterBBS::~InterpreterBBS()
{
}
//=========================================================================
-
-
+
+
//=========================================================================
/// Creates a new black box in current complex box
void InterpreterBBS::commandNew( const std::string& boxType, const std::string& boxName) // virtual
{
- _yGeneral = _yGeneral - 30;
+ _yGeneral = _yGeneral - 30;
std::string packagename = _factory->GetPackageNameOfaBlackBox(boxType);
int idBox = _sceneManager->createGBlackBox( 0,0, packagename ,boxType);
_countBoxes++;
double px = _xGeneral + (_countBoxes%2)*100;
double py = _yGeneral;
-
- _sceneManager->configGBlackBox(idBox, px,py,_zGeneral,boxName, false , px+100, py-10 , _zGeneral );
+
+ _sceneManager->configGBlackBox(idBox, px,py,_zGeneral,boxName, false , px+100, py-10 , _zGeneral );
}
//=========================================================================
-
+
//=========================================================================
/// Connects the output boxOutput to the input boxInput
void InterpreterBBS::commandConnection (const std::string &boxfrom,
_sceneManager->configGConnetion( boxfrom,output,boxto,input);
}
//=========================================================================
-
-
+
+
//=========================================================================
void InterpreterBBS::commandInput(const std::string &name,const std::string &box,const std::string &input,const std::string &help)
{
double xIn = -100+50+_countInputs*50;
- double yIn = 100;
- double zIn = 900;
+ double yIn = 100;
+ double zIn = 900;
_sceneManager->configGComBoxInputOutputPort(true,name,xIn,yIn,zIn);
_sceneManager->configGConnetion( name,name,box,input);
_countInputs++;
-
- printf("EED InterpreterBBS::commandInput what to do with help information ..???? \n ");
+
+ printf("EED InterpreterBBS::commandInput what to do with help information ..???? \n ");
}
//=========================================================================
-
+
//=========================================================================
void InterpreterBBS::commandOutput(const std::string &name,const std::string &box,const std::string &output,const std::string &help)
{
- _yGeneral = _yGeneral - 30;
+ _yGeneral = _yGeneral - 30;
double xIn = -100+_countOutputs*30;
- double yIn = _yGeneral;
- double zIn = 900;
+ double yIn = _yGeneral;
+ double zIn = 900;
_sceneManager->configGComBoxInputOutputPort(false,name,xIn,yIn,zIn);
_sceneManager->configGConnetion( box,output,name,name);
_countOutputs++;
-
- printf("EED InterpreterBBS::commandInput what to do with help information ..???? \n ");
+
+ printf("EED InterpreterBBS::commandInput what to do with help information ..???? \n ");
}
//=========================================================================
-
-
+
+
//=========================================================================
/// sets the input of the box with the value
void InterpreterBBS::commandSet(const std::string &box,const std::string &input,const std::string &value) // virtual
{
GBlackBoxModel *bbMod = (GBlackBoxModel *)_sceneManager->findGBox(box);
- bbMod->setValueToInput(input,"\""+value+"\"");
+ bbMod->setValueToInput(input,"\""+value+"\"");
}
//=========================================================================
-
- //=========================================================================
+
+ //=========================================================================
void InterpreterBBS::commandDefine(const std::string &name,const std::string &pack,const std::string &scriptfilename) // virtual
{
_sceneManager->setComplexBox(true);
-
+ _sceneManager->SetCbName(name);
+ _sceneManager->SetCbPackageName(pack);
}
//=========================================================================
-
+
//=========================================================================
void InterpreterBBS::commandEndDefine() // virtual
{
}
//=========================================================================
-
-
+
+
//=========================================================================
- void InterpreterBBS::commandExec(const std::string &word) // virtual
+ void InterpreterBBS::commandExec(const std::string &word) // virtual
{
GBlackBoxModel *bbMod = (GBlackBoxModel *)_sceneManager->findGBox(word);
- bbMod->setExecutable(true);
+ bbMod->setExecutable(true);
}
//=========================================================================
-
+
//=========================================================================
- void InterpreterBBS::commandAuthor(const std::string &author) // virtual
+ void InterpreterBBS::commandAuthor(const std::string &author) // virtual
{
- printf("EED InterpreterBBS::commandAuthor Warning !!!!! method not implemented.. \n");
+ _sceneManager->SetAuthor(author);
}
//=========================================================================
-
+
//=========================================================================
void InterpreterBBS::commandCategory(const std::string &categorytype) // virtual
{
- printf("EED InterpreterBBS::commandCategory Warning !!!!! method not implemented.. \n");
+ _sceneManager->SetCategory(categorytype);
}
//=========================================================================
-
+
//=========================================================================
void InterpreterBBS::commandDescription(const std::string &description) // virtual
{
- printf("EED InterpreterBBS::commandDescription Warning !!!!! method not implemented.. \n");
+ _sceneManager->SetDescription(description);
}
//=========================================================================
-
-
-
-
-
+
+
+
+
+
} // EO namespace bbtk
// EOF