From 0a151a7ab3005cf4704b6a9758d85cd00f4288ad Mon Sep 17 00:00:00 2001 From: davila <> Date: Tue, 21 Sep 2010 07:27:48 +0000 Subject: [PATCH] no message --- .../bbsWxGUIEditorGraphic/InterpreterBBS.cxx | 6 +- .../wxVtkSceneManager.cxx | 98 ++++++++++++++----- .../bbsWxGUIEditorGraphic/wxVtkSceneManager.h | 5 +- 3 files changed, 79 insertions(+), 30 deletions(-) diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.cxx index c6b5a78..8f6a049 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.cxx +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.cxx @@ -103,7 +103,7 @@ namespace bbtk const std::string &boxto, const std::string &input) // virtual { - _sceneManager->configGConnetion(_complexbox, boxfrom,output,boxto,input); + _sceneManager->configGConnetion( boxfrom,output,boxto,input); } //========================================================================= @@ -112,7 +112,7 @@ namespace bbtk /// 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 = _sceneManager->findGBox(box); + GBlackBoxModel *bbMod = (GBlackBoxModel *)_sceneManager->findGBox(box); bbMod->setValueToInput(input,"\""+value+"\""); } //========================================================================= @@ -137,7 +137,7 @@ namespace bbtk //========================================================================= void InterpreterBBS::commandExec(const std::string &word) // virtual { - GBlackBoxModel *bbMod = _sceneManager->findGBox(word); + GBlackBoxModel *bbMod = (GBlackBoxModel *)_sceneManager->findGBox(word); bbMod->setExecutable(true); } //========================================================================= diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx index 3c88251..978fdcc 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx @@ -1028,6 +1028,7 @@ namespace bbtk std::string script = ""; script+="# BBTK GEditor Script\n"; script+="# ----------------------\n"; + script+="\n"; if(existsExec) { script+="include std\n"; // EED @@ -1039,6 +1040,7 @@ namespace bbtk script+=packages[i]; script+="\n"; } + script+="\n"; // script+="include std\n"; // JPR @@ -1060,7 +1062,7 @@ namespace bbtk GPortModel* inputPort = inputs[j]; if(inputPort->isValueSet()) { - script+="set "; + script+=" set "; script+=model->getBBTKName(); script+="."; script+=inputPort->getBBTKName(); @@ -1069,9 +1071,12 @@ namespace bbtk script+="\n"; } } + script+="\n"; } + script+="\n"; + for(i = 0; i<(int)connections.size();i++) { script+="connect "; @@ -1096,6 +1101,7 @@ namespace bbtk script+="\n"; } + script+="\n"; for(i = 0; i<(int)execBoxes.size();i++) { script+="exec "; @@ -1681,7 +1687,7 @@ namespace bbtk } // while //EED bbmod->notifyObservers(_idManager); - } // boxes + } // for boxes /// CONNECTIONS //---------- @@ -1712,7 +1718,7 @@ namespace bbtk result = strtok( NULL, delims ); std::string nameEndPort(result); - configGConnetion(_isComplexBox, nameStartBox, nameStartPort, nameEndBox, nameEndPort); + configGConnetion(nameStartBox, nameStartPort, nameEndBox, nameEndPort); //ups 3 EED Borrame /* std::vector lstB = getBlackBoxes(); @@ -1782,34 +1788,78 @@ namespace bbtk //========================================================================= - GBlackBoxModel* wxVtkSceneManager::findGBox(std::string boxname) + GBoxModel* wxVtkSceneManager::findGBox(std::string boxname) { - GBlackBoxModel *boxModel = NULL; - GBlackBoxModel *bbMod; - std::vector lstB = getBlackBoxes(); - int idB; int j; + int idB; + GBoxModel *bMod; + GBoxModel *boxModel = NULL; + std::vector lstB = getBlackBoxes(); for(j = 0;j<(int)lstB.size();j++) { - idB = lstB[j]; - bbMod = (GBlackBoxModel*)_controllers[idB]->getModel(); + idB = lstB[j]; + bMod = (GBoxModel*)_controllers[idB]->getModel(); if(_controllers[idB]->getModel()->getBBTKName()==boxname) - { - boxModel = bbMod; + { + boxModel = bMod; } } // for + + if((_isComplexBox) && (boxModel==NULL)) + { + std::vector lstInputs = getComplexInputPorts(); + for(j = 0;j<(int)lstInputs.size();j++) + { + idB = lstInputs[j]; + bMod = (GBoxModel*)_controllers[idB]->getModel(); + if(_controllers[idB]->getModel()->getBBTKName()==boxname) + { + boxModel = bMod; + } + } // for + + std::vector lstOutputs = getComplexOutputPorts(); + for(j = 0;j<(int)lstOutputs.size();j++) + { + int idB = lstOutputs[j]; + bMod = (GBoxModel*)_controllers[idB]->getModel(); + if(_controllers[idB]->getModel()->getBBTKName()==boxname) + { + boxModel = bMod; + } + } // for + + } // complex box + return boxModel; } //========================================================================= - void wxVtkSceneManager::configGConnetion(bool _isComplexBox, - std::string nameStartBox, std::string nameStartPort, std::string + void wxVtkSceneManager::configGConnetion(std::string nameStartBox, std::string nameStartPort, std::string nameEndBox, std::string nameEndPort) { - GPortModel *startP = findGBox(nameStartBox)->getOutputPort(nameStartPort); - GPortModel *endP = findGBox(nameEndBox)->getInputPort(nameEndPort); + printf("EED wxVtkSceneManager::configGConnetion 1 %s %s %s %s\n", nameStartBox.c_str(), nameStartPort.c_str(), nameEndBox.c_str(), nameEndPort.c_str() ); + + GBoxModel *boxModel; + GPortModel *startP = NULL; + GPortModel *endP = NULL; + + boxModel= findGBox(nameStartBox); + if (boxModel!=NULL) + { + startP = boxModel->getOutputPort(nameStartPort); + } + + boxModel= findGBox(nameEndBox); + if (boxModel!=NULL) + { + endP = boxModel->getInputPort(nameEndPort); + } + + + printf("EED wxVtkSceneManager::configGConnetion 2 %p %p \n", startP, endP ); /*ups5 EED Borrame std::vector lstB = getBlackBoxes(); @@ -1827,8 +1877,7 @@ namespace bbtk endP = bbMod->getInputPort(nameEndPort); } } // for -*/ - int j; + if(_isComplexBox) { if(startP==NULL) @@ -1836,8 +1885,8 @@ namespace bbtk std::vector lstInputs = getComplexInputPorts(); for(j = 0;j<(int)lstInputs.size();j++) { - int idB = lstInputs[j]; - GBoxModel *cbMod = (GBoxModel*)_controllers[idB]->getModel(); + int idB = lstInputs[j]; + GBoxModel *cbMod = (GBoxModel*)_controllers[idB]->getModel(); if(_controllers[idB]->getModel()->getBBTKName()==nameStartBox) { startP = cbMod->getOutputPort(nameStartPort); @@ -1859,13 +1908,14 @@ namespace bbtk } // for } // if endP } // complex box + */ - int idCon = createGConnector(startP); - _worldState = NOTHING_HAPPENS; + int idCon = createGConnector(startP); + _worldState = NOTHING_HAPPENS; GConnectorController *tempp = (GConnectorController*)_controllers[idCon]; - GConnectorModel *conMod = (GConnectorModel*)tempp->getModel(); - vtkGConnectorView *conView = (vtkGConnectorView*)tempp->getView(); + GConnectorModel *conMod = (GConnectorModel*)tempp->getModel(); + vtkGConnectorView *conView = (vtkGConnectorView*)tempp->getView(); tempp->endContourCreation(); conMod->setEndPort(endP); conView->updateStartEndPoints(); diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h index 03af424..4126e09 100644 --- a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h +++ b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h @@ -115,10 +115,9 @@ namespace bbtk int createGConnector(GPortModel* startPort); void configGBlackBox(int idBox, double xIn, double yIn, double zIn, std::string name, bool boxExecutable,double xEn,double yEn,double zEn); - void configGConnetion(bool _isComplexBox, - std::string nameStartBox, std::string nameStartPort, std::string + void configGConnetion( std::string nameStartBox, std::string nameStartPort, std::string nameEndBox, std::string nameEndPort); - GBlackBoxModel* findGBox(std::string boxname); + GBoxModel* findGBox(std::string boxname); -- 2.45.1