int type = GPORT;
//Create the MVC Objects
- GPortModel *model = (GPortModel*)GObjectsMVCFactory::getInstance()->createGObjectModel(type);
- vtkGObjectView *view = GObjectsMVCFactory::getInstance()->createGObjectView(type);
- GObjectController* controller = GObjectsMVCFactory::getInstance()->createGObjectController(type);
+ GPortModel *model = (GPortModel*)GObjectsMVCFactory::getInstance()->createGObjectModel(type);
+ vtkGObjectView *view = GObjectsMVCFactory::getInstance()->createGObjectView(type);
+ GObjectController* controller = GObjectsMVCFactory::getInstance()->createGObjectController(type);
model->registerInBox(blackBox,portType, posInBox);
int type = GCONNECTOR;
manualConnectorContourController* manContourControl = new manualConnectorContourController();
- manualConnectorContourView* manContourView = new manualConnectorContourView();
- manualContourModel* manContourModel = new manualContourModel();
+ manualConnectorContourView* manContourView = new manualConnectorContourView();
+ manualContourModel* manContourModel = new manualContourModel();
- GConnectorController* connectorcontroller = new GConnectorController();
- GConnectorModel* connectorModel = new GConnectorModel();
- vtkGConnectorView* connectorView = new vtkGConnectorView();
+ GConnectorController* connectorcontroller = new GConnectorController();
+ GConnectorModel* connectorModel = new GConnectorModel();
+ vtkGConnectorView* connectorView = new vtkGConnectorView();
connectorModel->setGObjectType(type);
manContourModel->SetCloseContour(false);
}
int idBox = createGBlackBox(xIn,yIn,package,type);
+ configGBlackBox(idBox, xIn,yIn,zIn,name, boxExecutable,xEn,yEn,zEn);
+
GObjectController *cont = _controllers[idBox];
GBlackBoxModel *bbmod = (GBlackBoxModel*)cont->getModel();
- configGBlackBox(idBox, xIn,yIn,zIn,name, boxExecutable,xEn,yEn,zEn);
//ups2 eed
result = strtok( NULL, delims );
std::string nameEndPort(result);
- std::vector<int> lstB = getBlackBoxes();
-
- GPortModel *startP=NULL;
- GPortModel *endP=NULL;
- for(int j = 0;j<lstB.size();j++)
+ configGConnetion(_isComplexBox, nameStartBox, nameStartPort, nameEndBox, nameEndPort);
+//ups 3 EED Borrame
+/*
+ std::vector<int> lstB = getBlackBoxes();
+ GPortModel *startP = NULL;
+ GPortModel *endP = NULL;
+ int j;
+ for(j = 0;j<lstB.size();j++)
{
int idB = lstB[j];
GBlackBoxModel *bbMod = (GBlackBoxModel*)_controllers[idB]->getModel();
if(startP==NULL)
{
std::vector<int> lstInputs = getComplexInputPorts();
- for(int j = 0;j<lstInputs.size();j++)
+ for(j = 0;j<lstInputs.size();j++)
{
int idB = lstInputs[j];
GBoxModel *cbMod = (GBoxModel*)_controllers[idB]->getModel();
if(_controllers[idB]->getModel()->getBBTKName()==nameStartBox)
{
startP = cbMod->getOutputPort(nameStartPort);
- }
- }
- }
+ } // if
+ } // for
+ } // if
if(endP==NULL)
{
std::vector<int> lstOutputs = getComplexOutputPorts();
- for(int j = 0;j<lstOutputs.size();j++)
+ for(j = 0;j<lstOutputs.size();j++)
{
int idB = lstOutputs[j];
GBoxModel *cbMod = (GBoxModel*)_controllers[idB]->getModel();
if(_controllers[idB]->getModel()->getBBTKName()==nameEndBox)
{
endP = cbMod->getInputPort(nameEndPort);
- }
- }
- }
+ } // if
+ } // for
+ } // if endP
} // complex box
int idCon = createGConnector(startP);
tempp->endContourCreation();
conMod->setEndPort(endP);
conView->updateStartEndPoints();
-
+ */
} // for numConns
+
} // start
}
+ //=========================================================================
+
+ GBlackBoxModel* wxVtkSceneManager::findGBox(std::string boxname)
+ {
+ GBlackBoxModel *boxModel = NULL;
+ GBlackBoxModel *bbMod;
+ std::vector<int> lstB = getBlackBoxes();
+ int idB;
+ int j;
+ for(j = 0;j<(int)lstB.size();j++)
+ {
+ idB = lstB[j];
+ bbMod = (GBlackBoxModel*)_controllers[idB]->getModel();
+ if(_controllers[idB]->getModel()->getBBTKName()==boxname)
+ {
+ boxModel = bbMod;
+ }
+ } // for
+ return boxModel;
+ }
+
+ //=========================================================================
+
+
+ void wxVtkSceneManager::configGConnetion(bool _isComplexBox,
+ std::string nameStartBox, std::string nameStartPort, std::string
+ nameEndBox, std::string nameEndPort)
+ {
+ GPortModel *startP = findGBox(nameStartBox)->getOutputPort(nameStartPort);
+ GPortModel *endP = findGBox(nameEndBox)->getInputPort(nameEndPort);
+
+/*ups5 EED Borrame
+ std::vector<int> lstB = getBlackBoxes();
+ int j;
+ for(j = 0;j<(int)lstB.size();j++)
+ {
+ int idB = lstB[j];
+ GBlackBoxModel *bbMod = (GBlackBoxModel*)_controllers[idB]->getModel();
+ if(_controllers[idB]->getModel()->getBBTKName()==nameStartBox)
+ {
+ startP = bbMod->getOutputPort(nameStartPort);
+ }
+ else if(_controllers[idB]->getModel()->getBBTKName()==nameEndBox)
+ {
+ endP = bbMod->getInputPort(nameEndPort);
+ }
+ } // for
+*/
+ int j;
+ if(_isComplexBox)
+ {
+ if(startP==NULL)
+ {
+ std::vector<int> lstInputs = getComplexInputPorts();
+ for(j = 0;j<(int)lstInputs.size();j++)
+ {
+ int idB = lstInputs[j];
+ GBoxModel *cbMod = (GBoxModel*)_controllers[idB]->getModel();
+ if(_controllers[idB]->getModel()->getBBTKName()==nameStartBox)
+ {
+ startP = cbMod->getOutputPort(nameStartPort);
+ } // if
+ } // for
+ } // if
+
+ if(endP==NULL)
+ {
+ std::vector<int> lstOutputs = getComplexOutputPorts();
+ for(j = 0;j<(int)lstOutputs.size();j++)
+ {
+ int idB = lstOutputs[j];
+ GBoxModel *cbMod = (GBoxModel*)_controllers[idB]->getModel();
+ if(_controllers[idB]->getModel()->getBBTKName()==nameEndBox)
+ {
+ endP = cbMod->getInputPort(nameEndPort);
+ } // if
+ } // for
+ } // if endP
+ } // complex box
+
+ int idCon = createGConnector(startP);
+ _worldState = NOTHING_HAPPENS;
+ GConnectorController *tempp = (GConnectorController*)_controllers[idCon];
+
+ GConnectorModel *conMod = (GConnectorModel*)tempp->getModel();
+ vtkGConnectorView *conView = (vtkGConnectorView*)tempp->getView();
+ tempp->endContourCreation();
+ conMod->setEndPort(endP);
+ conView->updateStartEndPoints();
+ }
+
//=========================================================================
bool wxVtkSceneManager::boxExist(std::string boxname)