org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditPart protected void refreshBendpoints() { RelativeBendpoints bendpoints = (RelativeBendpoints) getEdge() .getBendpoints(); List modelConstraint = bendpoints.getPoints(); List figureConstraint = new ArrayList(); for (int i = 0; i < modelConstraint.size(); i++) { org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint wbp = (org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint) modelConstraint .get(i); RelativeBendpoint rbp = new RelativeBendpoint(getConnectionFigure()); rbp.setRelativeDimensions(new Dimension(wbp.getSourceX(), wbp .getSourceY()), new Dimension(wbp.getTargetX(), wbp .getTargetY())); if (modelConstraint.size() == 1) { rbp.setWeight(0.5f); } else { rbp.setWeight(i / ((float) modelConstraint.size() - 1)); } figureConstraint.add(rbp); } getConnectionFigure().setRoutingConstraint(figureConstraint); }