GPortModel::GPortModel()
{
_parentBox = NULL;
+ _portType=-1;
}
//=========================================================================
}
//=========================================================================
- void GPortModel::registerInBox(GBlackBoxModel *blackBox)
+ void GPortModel::registerInBox(GBlackBoxModel *blackBox,int portType)
{
_parentBox = blackBox;
+ _portType = portType;
+
+ double xInic, yInic,zInic,xFin,yFin,zFin;
+ _parentBox->getInicPoint(xInic,yInic,zInic);
+ _parentBox->getFinalPoint(xFin, yFin,zFin);
+
+ int cant = 0;
+ double posX=xInic,posY=yInic,posZ=zInic;
+ if(_portType==GOUTPUTPORT)
+ {
+ cant = _parentBox->getNumOutputPorts();
+ posY = yInic+PORT_HEIGHT;
+ }
+ else if(_portType==GINPUTPORT)
+ {
+ cant = _parentBox->getNumInputPorts();
+ posY = yFin;
+ }
+
+ posX = xInic + PORT_WIDTH + cant*2*PORT_WIDTH;
+
+ setInicPoint(posX,posY,posZ);
+
+ posX=posX+PORT_WIDTH;
+ posY=posY-PORT_HEIGHT;
+
+ setFinalPoint(posX,posY,posZ);
+
}
//=========================================================================