Skip to content
This repository has been archived by the owner on Feb 18, 2024. It is now read-only.

Layouting: Edges don't take the shortest route #2

Open
MikeLauer opened this issue Jun 23, 2023 · 0 comments
Open

Layouting: Edges don't take the shortest route #2

MikeLauer opened this issue Jun 23, 2023 · 0 comments

Comments

@MikeLauer
Copy link
Contributor

Current State

  • Edges wihting a block (containing ComponentVersion, Issues, Interfaces) take the shortest route.
  • Edges from (within) a block to (inside) another block, e.g. from an interfaces to another interface, don't take the shortest route. Instead, they always leave to the right, go around in a circle and enter on the left side. (Visualized in screenshot)

Related issues:

  • elkjs#26: elk.hierarchyHandling INCLUDE_CHILDREN and elk.direction
  • elk#315: Feature Request: Standalone Edge Routing

screenshot_layout

Example settings for a Test Editor

hierarchyHandling: INCLUDE_CHILDREN
elk.algorithm: layered
spacing.baseValue: 100
elk.edgeRouting: ORTHOGONAL

cycleBreaking.strategy: INTERACTIVE
layering.strategy: INTERACTIVE
crossingMinimization.semiInteractive: true
separateConnectedComponents: false

node n1 {
	label "n1"

    node main{
        label "main"
    }

    node interf{
        label "interf"

        node n1 {
            label "n1"
        }

        node n2 {
            label "n2"
        }

        node n3 {
            label "n3"
        }
    }
    edge main -> interf.n1
    edge main -> interf.n2
    edge main -> interf.n3

    node issue{
        label "issue"
        node n1 {
            label "n1"
        }

        node n2 {
            label "n2"
        }

        node n3 {
            label "n3"
        }
    }
}

node n2 {
	label "n2"

    node main{
        label "main"
    }

    node interf{
        label "interf"

        node n1 {
            label "n1"
        }

        node n2 {
            label "n2"
        }

        node n3 {
            label "n3"
        }
    }
    edge main -> interf.n1
    edge main -> interf.n2
    edge main -> interf.n3

    node issue{
        label "issue"
        node n1 {
            label "n1"
        }

        node n2 {
            label "n2"
        }

        node n3 {
            label "n3"
        }
    }
}

edge n1.interf.n1 -> n2.interf.n2
edge n2.interf.n2 -> n1.interf.n1
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant