The solution was very simple, i just had to change the getLinkPath to:
Code:
var midY = (link.source.y + (link.target.y - link.source.y) / 2);
return 'M' + link.source.x + ',' + link.source.y
+ 'C' + link.target.x + ',' + midY
+ ' ' + link.target.x + ',' + midY
+ ' ' + link.target.x + ',' + link.target.y;
and removeNodes to:
Code:
var me = this,
selectedNode = me.nodeFromRecord(me.getSelection());
selection
.attr('opacity', 1)
.transition(me.layoutTransition)
.attr('opacity', 0)
.attr('transform', function (node) {
var p = node.parent,
d = selectedNode || p && me.nodeFromRecord(p.data),
x = d && d.x || 0,
y = d && d.y || 0;
return 'translate(' + x + ',' + y + ')';
})
.remove();