eclipse / elk

Eclipse Layout Kernel - Automatic layout for Java applications.
https://www.eclipse.org/elk/
Other
256 stars 83 forks source link

Edge labels are overlapped #764

Open RyanMcilnay opened 3 years ago

RyanMcilnay commented 3 years ago

Edge labels that have different ports have overlapping labels.

Example:

graph n0
algorithm: org.eclipse.elk.layered
node n1 {
    node n2 {
        node n3 {
            insideSelfLoops.activate: true
            port p0 {
                layout [
                    size: 66.11458206176758, 40
                ]
            }
            port p1 {
                layout [
                    size: 66.11458206176758, 40
                ]
            }
        }
        node n4 {
            insideSelfLoops.activate: true
            port p6 {
                layout [
                    size: 66.11458206176758, 40
                ]
            }
            port p7 {
                layout [
                    size: 66.11458206176758, 40
                ]
            }
        }
        edge e0: n3.p0 -> n3.p1 {
            insideSelfLoops.yo: true
            label "AAA"
        }
        edge e3: n4.p6 -> n4.p7 {
            insideSelfLoops.yo: true
            label "BBB"
        }
    }
}

The AAA and BBB labels are overlapping at p0. ElkEdgeLabelOverlap

uruuru commented 3 years ago

Do they have computed positions at all? I could imagine that they somehow get lost during internal processing for inside self loops.

RyanMcilnay commented 3 years ago

Looks like they are being computed since they are not top left and relative to the first edge. I hope that helps!