From: davila <> Date: Sun, 3 Jun 2012 18:52:28 +0000 (+0000) Subject: v1.1.0 BUG 1403 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=bbtkGEditor.git;a=commitdiff_plain;h=1798b65294ad187db7e220fd626222961267c09b v1.1.0 BUG 1403 - Moving control points of splines connection when both boxes are selected --- diff --git a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GConnectorModel.cxx b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GConnectorModel.cxx index 7be647f..d76d7fe 100644 --- a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GConnectorModel.cxx +++ b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GConnectorModel.cxx @@ -119,6 +119,13 @@ namespace bbtk void GConnectorModel::updateStartEndPoints() { + + //back point + double bsx,bsy; // back start for x and y + double nsx,nsy; + double bex,bey; // new start for x and y + double nex,ney; + //Start Point double xCenter,yCenter,zCenter; _startPort->getCenter(xCenter,yCenter,zCenter); @@ -127,16 +134,44 @@ namespace bbtk // Refresh the position of the contourModel first point with the data of the connector model manualPoint* point = _model->GetManualPoint(0); + bsx=point->GetX(); + bsy=point->GetY(); point->SetPoint(xCenter,yport,zCenter); - + nsx=xCenter; + nsy=yport; + //End Point _endPort->getCenter(xCenter,yCenter,zCenter); _endPort->getInicPoint(xport,yport,zport); // Refresh the position of the contourModel last point with the data of the connector model point = _model->GetManualPoint(_model->GetSizeLstPoints()-1); + bex=point->GetX(); + bey=point->GetY(); point->SetPoint(xCenter,yport,zCenter); + nex=xCenter; + ney=yport; + + // moving point of the spline connection + if ( ((bsx!=nsx)&&(bex!=nex)) || ((bsy!=nsy)&&(bey!=ney)) ) + { + double difx=bsx-nsx; + double dify=bey-ney; + double tmpX, tmpY, tmpZ; + int i,size=_model->GetSizeLstPoints(); + if (size>2) + { + for (i=1;iGetManualPoint(i); + tmpX = point->GetX(); + tmpY = point->GetY(); + tmpZ = point->GetZ(); + point->SetPoint(tmpX-difx,tmpY-dify,tmpZ); + } // for i + }// if size + } // if bsx nsx bex nex bsy nsy bey ney } //=========================================================================