The method to set control points in EdgeRenderer
looks very simple:
protected void getCurveControlPoints(EdgeItem eitem, Point2D[] cp,
double x1, double y1, double x2, double y2)
{
double dx = x2-x1, dy = y2-y1;
cp[0].setLocation(x1+2*dx/3,y1);
cp[1].setLocation(x2-dx/8,y2-dy/8);
}
Probably, you have to override it to set achieve the curve you want.
Please share your solution here for other, if that is the case.