185
185
double x2 = from.getX() + ((to.getX() - from.getX()) / 2);
186
186
double y2 = from.getY() + ((to.getY() - from.getY()) / 2);
187
187
routed = new Point2D[2];
189
routed[0] = edge.getAttributes().createPoint(x2,
191
routed[1] = edge.getAttributes().createPoint(x2, to.getY());
193
routed[0] = edge.getAttributes().createPoint(from.getX(),
195
routed[1] = edge.getAttributes().createPoint(to.getX(), y2);
188
Rectangle2D targetBounds = null;
189
Rectangle2D sourceBounds = null;
190
if ((edge.getTarget() != null && edge.getTarget()
191
.getParentView() != null)
192
&& (edge.getSource() != null && edge.getSource()
193
.getParentView() != null)) {
194
targetBounds = edge.getTarget().getParentView().getBounds();
195
sourceBounds = edge.getSource().getParentView().getBounds();
198
for (int i = 0; i < routed.length; i++) {
199
if ((edge.getTarget() == null
200
|| edge.getTarget().getParentView() == null || !edge
201
.getTarget().getParentView().getBounds().contains(
203
&& (edge.getSource() == null
204
|| edge.getSource().getParentView() == null || !edge
205
.getSource().getParentView().getBounds()
206
.contains(routed[i])))
208
newPoints.add(routed[i]);
197
if (targetBounds != null && sourceBounds != null) {
199
routed[0] = edge.getAttributes().createPoint(x2,
201
routed[1] = edge.getAttributes().createPoint(x2,
203
if (targetBounds.contains(routed[0])
204
|| (sourceBounds.contains(routed[0]))
205
|| targetBounds.contains(routed[1])
206
|| (sourceBounds.contains(routed[1]))) {
207
routed[0] = edge.getAttributes().createPoint(
209
routed[1] = edge.getAttributes().createPoint(
213
routed[0] = edge.getAttributes().createPoint(
215
routed[1] = edge.getAttributes().createPoint(to.getX(),
217
if (targetBounds.contains(routed[0])
218
|| (sourceBounds.contains(routed[0]))
219
|| targetBounds.contains(routed[1])
220
|| (sourceBounds.contains(routed[1]))) {
221
routed[0] = edge.getAttributes().createPoint(x2,
223
routed[1] = edge.getAttributes().createPoint(x2,
228
for (int i = 0; i < routed.length; i++) {
229
if (!targetBounds.contains(routed[i])
230
&& (!sourceBounds.contains(routed[i]))) {
231
newPoints.add(routed[i]);