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);
// 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;i<size-1;i++)
+ {
+ point = _model->GetManualPoint(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
}
//=========================================================================