]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.cxx
Important change in the project to visualize the contour when the output was selected...
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsKernelEditorGraphic / GBlackBoxModel.cxx
index 186c745baf1c189e64f20d7e6c5b23915ad77945..876dbb072c94123b165b2acf1ead577aab1a4d36 100644 (file)
@@ -51,6 +51,16 @@ namespace bbtk
        }
        //=========================================================================
 
+       void GBlackBoxModel::setInicPoint(double& x, double& y, double& z)
+       {
+               GObjectModel::setInicPoint(x,y,z);
+
+               double xFin=x+BOX_WIDTH,yFin=y-BOX_HEIGHT;
+               setFinalPoint(xFin,yFin,z);
+       }
+
+       //=========================================================================
+
        void GBlackBoxModel::addInputPort(GPortModel *inputport)
        {
                _inputs.push_back(inputport);
@@ -65,6 +75,56 @@ namespace bbtk
 
        //=========================================================================
 
+       int GBlackBoxModel::getNumInputPorts()
+       {
+               return _inputs.size();
+       }
+
+       //=========================================================================
+
+       int GBlackBoxModel::getNumOutputPorts()
+       {
+               return _outputs.size();
+       }
+
+       //=========================================================================
+
+       void GBlackBoxModel::move(double xx,double yy,double zz)
+       {
+               setInicPoint(xx,yy,zz);
+
+               //Refresh inputs position
+               int i;
+               for(i=0;i<_inputs.size();i++)
+               {
+                       _inputs[i]->updatePortPosition(i);
+               }
+               
+               //Refresh outputs position
+               for(i=0;i<_outputs.size();i++)
+               {
+                       _outputs[i]->updatePortPosition(i);
+               }
+
+       }
+       
+       //=========================================================================
+
+       GPortModel* GBlackBoxModel::getStartOutputPort()
+       {
+               GPortModel* temp = NULL;
+
+               for(int i=0; i<_inputs.size() && temp == NULL;i++)
+               {
+                       if(_outputs[i]->getState() == CREATING_CONTOUR)
+                       {
+                               temp = _outputs[i];
+                       }
+               }
+
+               return temp;
+       }
+
 }  // EO namespace bbtk
 
 // EOF