]> Creatis software - bbtkGEditor.git/commitdiff
no message
authordavila <>
Tue, 21 Sep 2010 07:27:48 +0000 (07:27 +0000)
committerdavila <>
Tue, 21 Sep 2010 07:27:48 +0000 (07:27 +0000)
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxVtkSceneManager.h

index c6b5a780041e326380a0c42d6a993daf62f994ba..8f6a049f357a937d8d6fd957b9ab8eb7a21d5290 100644 (file)
@@ -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);                             
        }
        //=========================================================================
index 3c8825175f33f32c5ba19337e7bcf54b4a42cf02..978fdcc362d9ad1fe37cf7e046ff74e2612faf65 100644 (file)
@@ -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<int> 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<int> lstB           = getBlackBoxes();                              
-               int idB;
                int j;
+               int idB;
+               GBoxModel *bMod;
+               GBoxModel *boxModel                     = NULL;
+               std::vector<int> 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<int> 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<int> 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<int> 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<int> 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();                
index 03af4240638d6fd8b3f16667233e53bf96364987..4126e09afad8acea759365b75ba8a1db768f77fb 100644 (file)
@@ -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);