From 1f59084eb0a78ed4a3023cce89a179ea5e2c8a70 Mon Sep 17 00:00:00 2001 From: davila <> Date: Wed, 22 Sep 2010 20:03:04 +0000 Subject: [PATCH] no message --- .../bbsWxGUIEditorGraphic/InterpreterBBS.cxx | 50 ++++++++++++++++--- .../bbsWxGUIEditorGraphic/InterpreterBBS.h | 6 ++- .../wxVtkSceneManager.cxx | 48 ++++++++++++++---- .../bbsWxGUIEditorGraphic/wxVtkSceneManager.h | 1 + 4 files changed, 88 insertions(+), 17 deletions(-) diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.cxx index 8f6a049..56a6a9b 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.cxx +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.cxx @@ -62,11 +62,12 @@ namespace bbtk _sceneManager = sceneManager; _xGeneral = -100; - _yGeneral = 10; + _yGeneral = 100; _zGeneral = 900; // ????? _countBoxes = 0; - - _complexbox = false; + _countInputs = 0; + _countOutputs = 0; + bbtk::InterpreterVirtual::Init(); } @@ -84,10 +85,10 @@ namespace bbtk /// Creates a new black box in current complex box void InterpreterBBS::commandNew( const std::string& boxType, const std::string& boxName) // virtual { + _yGeneral = _yGeneral - 30; std::string packagename = _factory->GetPackageNameOfaBlackBox(boxType); int idBox = _sceneManager->createGBlackBox( 0,0, packagename ,boxType); _countBoxes++; - _yGeneral = _yGeneral + 30; double px = _xGeneral + (_countBoxes%2)*100; double py = _yGeneral; @@ -108,6 +109,36 @@ namespace bbtk //========================================================================= + //========================================================================= + 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; + _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 "); + } + //========================================================================= + + //========================================================================= + void InterpreterBBS::commandOutput(const std::string &name,const std::string &box,const std::string &output,const std::string &help) + { + _yGeneral = _yGeneral - 30; + double xIn = -100+_countOutputs*30; + 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 "); + } + //========================================================================= + + //========================================================================= /// 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 @@ -121,7 +152,8 @@ namespace bbtk //========================================================================= void InterpreterBBS::commandDefine(const std::string &name,const std::string &pack,const std::string &scriptfilename) // virtual { - _complexbox=true; + _sceneManager->setComplexBox(true); + } //========================================================================= @@ -129,7 +161,6 @@ namespace bbtk //========================================================================= void InterpreterBBS::commandEndDefine() // virtual { - _complexbox=false; } //========================================================================= @@ -143,20 +174,27 @@ namespace bbtk //========================================================================= + //========================================================================= void InterpreterBBS::commandAuthor(const std::string &author) // virtual { printf("EED InterpreterBBS::commandAuthor Warning !!!!! method not implemented.. \n"); } + //========================================================================= + //========================================================================= void InterpreterBBS::commandCategory(const std::string &categorytype) // virtual { printf("EED InterpreterBBS::commandCategory Warning !!!!! method not implemented.. \n"); } + //========================================================================= + //========================================================================= void InterpreterBBS::commandDescription(const std::string &description) // virtual { printf("EED InterpreterBBS::commandDescription Warning !!!!! method not implemented.. \n"); } + //========================================================================= + diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.h b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.h index f31b8ff..f23756e 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.h +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.h @@ -81,10 +81,15 @@ namespace bbtk virtual void commandCategory(const std::string &categorytype); virtual void commandDescription(const std::string &description); + virtual void commandInput(const std::string &name,const std::string &box,const std::string &input,const std::string &help); + virtual void commandOutput(const std::string &name,const std::string &box,const std::string &output,const std::string &help); + double _xGeneral; double _yGeneral; double _zGeneral; + int _countInputs; + int _countOutputs; int _countBoxes; wxVtkSceneManager *_sceneManager; Factory::Pointer _factory; @@ -92,7 +97,6 @@ namespace bbtk private: //Private Attributes - bool _complexbox; //Private Methods diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx index 978fdcc..f5313e7 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx @@ -1516,11 +1516,16 @@ namespace bbtk getline(inputStream,line);//FIN_COMPLEX_PORT - int idInputPort = createGComplexBoxInputPort(inputPortName); - GObjectController *cont = _controllers[idInputPort]; - GBoxModel *cbmod = (GBoxModel*)cont->getModel(); - cbmod->setInicPoint(xIn,yIn,zIn); - cbmod->notifyObservers(_idManager); + configGComBoxInputOutputPort(true, inputPortName,xIn,yIn,zIn); + +//ups 3 EED Borrame +// int idInputPort = createGComplexBoxInputPort(inputPortName); +// GObjectController *cont = _controllers[idInputPort]; +// GBoxModel *cbmod = (GBoxModel*)cont->getModel(); +// cbmod->setInicPoint(xIn,yIn,zIn); +// cbmod->notifyObservers(_idManager); + + } // for input complex box @@ -1566,12 +1571,15 @@ namespace bbtk getline(inputStream,line);//FIN_COMPLEX_PORT + configGComBoxInputOutputPort(false, outputPortName,xIn,yIn,zIn); + +//ups 3 EED Borrame +// int idOutputPort = createGComplexBoxOutputPort(outputPortName); +// GObjectController *cont = _controllers[idOutputPort]; +// GBoxModel *cbmod = (GBoxModel*)cont->getModel(); +// cbmod->setInicPoint(xIn,yIn,zIn); +// cbmod->notifyObservers(_idManager); - int idOutputPort = createGComplexBoxOutputPort(outputPortName); - GObjectController *cont = _controllers[idOutputPort]; - GBoxModel *cbmod = (GBoxModel*)cont->getModel(); - cbmod->setInicPoint(xIn,yIn,zIn); - cbmod->notifyObservers(_idManager); } // for output complex box } // complex box @@ -1785,9 +1793,29 @@ namespace bbtk } // start } + //========================================================================= + + + //========================================================================= + void wxVtkSceneManager::configGComBoxInputOutputPort(bool inputoutput, std::string portName, double xIn, double yIn,double zIn) + { + int idPort; + if (inputoutput==true) + { + idPort = createGComplexBoxInputPort(portName); + } else { + idPort = createGComplexBoxOutputPort(portName); + } + GObjectController *cont = _controllers[idPort]; + GBoxModel *cbmod = (GBoxModel*)cont->getModel(); + cbmod->setInicPoint(xIn,yIn,zIn); + cbmod->notifyObservers(_idManager); + } //========================================================================= + + //========================================================================= GBoxModel* wxVtkSceneManager::findGBox(std::string boxname) { int j; diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h index 4126e09..436903a 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h @@ -117,6 +117,7 @@ namespace bbtk void configGBlackBox(int idBox, double xIn, double yIn, double zIn, std::string name, bool boxExecutable,double xEn,double yEn,double zEn); void configGConnetion( std::string nameStartBox, std::string nameStartPort, std::string nameEndBox, std::string nameEndPort); + void configGComBoxInputOutputPort(bool inputoutput, std::string inputPortName, double xIn, double yIn,double zIn); GBoxModel* findGBox(std::string boxname); -- 2.45.1