I have a diagram, I need the edge must be ORTHOGONAL, and not overlap, I don't care the direction of the edge.
I use layered layout algorithm, but the edges always overlap at the begin and end of the edge. I try to use MULTI_EDGE, but it can't reslove the problem.
I want to know how to configuration to avoid edge overlap.
This is a diagram data on JSON format, you can check the diagram. on https://rtsys.informatik.uni-kiel.de/elklive/json.html
{
"id": "root",
"layoutOptions": {
"elk.algorithm": "layered",
"org.eclipse.elk.edgeRouting": "ORTHOGONAL",
"org.eclipse.elk.direction": "DOWN",
"org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers": 40,
"org.eclipse.elk.layered.nodePlacement.strategy": "NETWORK_SIMPLEX",
"org.eclipse.elk.layered.wrapping.strategy": "MULTI_EDGE",
"org.eclipse.elk.layered.wrapping.correctionFactor": 100
},
"children": [{
"id": "node1",
"width": 400,
"height": 200,
"layoutOptions": {
"portConstraints": "FIXED_POS"
},
"ports": [{
"id": "port1-1",
"x": 50,
"y": 200,
"width": 10,
"height": 10
},
{
"id": "port1-2",
"x": 100,
"y": 200,
"width": 10,
"height": 10
},
{
"id": "port1-3",
"x": 150,
"y": 200,
"width": 10,
"height": 10
},
{
"id": "port1-4",
"x": 200,
"y": 200,
"width": 10,
"height": 10
}
]
},
{
"id": "node2",
"width": 400,
"height": 200,
"layoutOptions": {
"portConstraints": "FIXED_POS"
},
"ports": [{
"id": "port2-1",
"x": 50,
"y": 0,
"width": 10,
"height": 10
},
{
"id": "port2-2",
"x": 100,
"y": 0,
"width": 10,
"height": 10
},
{
"id": "port2-3",
"x": 150,
"y": 0,
"width": 10,
"height": 10
},
{
"id": "port2-4",
"x": 200,
"y": 0,
"width": 10,
"height": 10
}
]
}
],
"edges": [{
"layoutOptions": {},
"id": "edge1",
"sources": [
"port1-1"
],
"targets": [
"port1-3"
]
},
{
"layoutOptions": {},
"id": "edge2",
"sources": [
"port1-2"
],
"targets": [
"port1-3"
]
},
{
"layoutOptions": {},
"id": "edge3",
"sources": [
"port1-2"
],
"targets": [
"port2-1"
]
},
{
"layoutOptions": {},
"id": "edge4",
"sources": [
"port1-2"
],
"targets": [
"port2-1"
]
},
{
"layoutOptions": {},
"id": "edge5",
"sources": [
"port1-2"
],
"targets": [
"port2-2"
]
},
{
"layoutOptions": {},
"id": "edge6",
"sources": [
"port2-2"
],
"targets": [
"port2-3"
]
},
{
"layoutOptions": {},
"id": "edge7",
"sources": [
"port2-2"
],
"targets": [
"port2-4"
]
}
]
}
|