Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Ulf Rüegg
    @uruuru
    @lredor give nodePlacement.strategy: NETWORK_SIMPLEX a try. It's possible that the default node placement algorithm is not evaluating the straightness option.
    Laurent Redor
    @lredor

    @lredor give nodePlacement.strategy: NETWORK_SIMPLEX a try. It's possible that the default node placement algorithm is not evaluating the straightness option.

    Hi, @uruuru . Thanks. Just add your option, seems to solve my problem: result

    Adel Nizamutdinov
    @meoyawn
    Hi folks, can anyone point me to what I'm doing wrong here and why my arrow is not straight? LINK. I know I can nest the edge in the node and it'll become straight, but is there a way to achieve that without nesting the edge?
    Ulf Rüegg
    @uruuru

    @meoyawn you have to specify the edge with the correct containment (see the bullet point on Edge Containment here). For your example, move the edge inside eydd162c67m.

    I'm not completely sure what is going on with the layout when the containment is not as expected by the algorithm.

    1 reply
    omygoodness
    @omygoodness
    Hi guys. Quick question: I am trying to create loop between two nodes like in the example below but how to revert order of elements? Why n1 is switching position? Is there any layoutOption to prevent that behaviour? Any help will be appreciated.
    image.png
    Laurent Redor
    @lredor
    @omygoodness Hi, you can maybe use
    pmoogk
    @pmoogk
    Hey there, I'm using "org.eclipse.elk.layered.mergeEdges": "true" so that all the lines in my graph overlay each other. Is it possible to keep using this option, but to have some of my edges not included in this merging of lines and to have them as separate lines that use separate ports. Thanks!
    Ulf Rüegg
    @uruuru
    @pmoogk like so?.
    Apart from that, there's no option to explicitly exclude certain edges from the merging process.
    pmoogk
    @pmoogk
    @uruuru Thanks for the quick response and letting me know.
    David Khourshid
    @davidkpiano
    Hello, how do I define the spacing between the edge and target node? E.g., this:
    source----->  target
    
    (not this)
    source-------->target
    Ulf Rüegg
    @uruuru
    @davidkpiano if I understand you correctly, you could try to cheat a bit using ports: example. Note that 0,0 as port size is not possible in the online renderer but should be valid in your case.
    David Khourshid
    @davidkpiano
    Thank you!
    David Khourshid
    @davidkpiano
    CleanShot 2021-05-30 at 16.34.38@2x.png
    Another question, this is strange... ^
    However, when I put it in the parent node, I get an error:
    CleanShot 2021-05-30 at 16.35.12@2x.png
    Laurent Redor
    @lredor
    @davidkpiano Hi, David, the valid reference for n4 is "n2.n4"
    image.png
    Ulf Rüegg
    @uruuru
    And you probably want to activate hierarchical layout: hierarchyHandling: INCLUDE_CHILDREN
    DPros
    @DPros
    image.png
    Hi! is it possible to use layered layout with round nodes so that edges visually touch the node border?
    Ulf Rüegg
    @uruuru
    @DPros there's nothing built-in. You could compute the position yourself, use ports, and assign fixed port positions. However, that likely negatively affects edge crossing minimization as you have to pick an order of the ports beforehand.
    DPros
    @DPros

    @DPros there's nothing built-in. You could compute the position yourself, use ports, and assign fixed port positions. However, that likely negatively affects edge crossing minimization as you have to pick an order of the ports beforehand.

    thx for the answer, I guess I'll dig up my trigonometry and try to extend the sections

    Ulf Rüegg
    @uruuru
    Yep. Good luck ;)
    Laurent Redor
    @lredor
    @DPros For information, if you extend the sections, this has also an impact on the edges's label location (if edges have a label).
    Saul Shanabrook
    @saulshanabrook
    Hello all! I am looking at using elk + sprotty inside the vega editor (https://vega.github.io/editor/) to help with debugging the dataflow graphs. However, a Java server dependency is likely a no-go. Is it possible to use elkjs + sprotty to do entirely client side layout and rendering? Does anyone have examples of this?
    Ulf Rüegg
    @uruuru
    @saulshanabrook I answered your question here: kieler/elk-live#49
    Saul Shanabrook
    @saulshanabrook
    Thanks @uruuru! Do you know of any examples of hyperdges with the ELKT or JSON viewers? I can't seem to get them to work with the layered layout.
    Christoph Daniel Schulze
    @le-cds
    @saulshanabrook While supported by the graph data structure, we don't have any algorithms yet that support hyperedges.
    Saul Shanabrook
    @saulshanabrook
    OK Thanks!
    Saul Shanabrook
    @saulshanabrook
    What about edges that go from a node in the parent to a node inside a compound node? I am finding when I try laying those out, with layered, then it doesn't work quite right.
    Screen Shot 2021-06-22 at 10.30.54 AM.png
    For example, it puts that proxy node lower than it should be
    kuldeeparora89
    @kuldeeparora89
    Hi, I have a requirement to represent my diagram in a tree view to represent a hierarchy. Similar to file explorer, sample
    alt
    How can I use ELK to achieve this? Does ELK have any existing layout algorithm for this use case?
    Sören Domrös
    @soerendomroes
    @kuldeeparora89 I guess not, both the layered algorithm and MrTree (our tree layout algorithm) only place nodes in layers and do not handle in-layer edges very well and if you configure the layered algorithm to produce a downward drawing then the hyperedges might cause problems and you will have to use interactive layout to force the nodes one layer each. So I think it might be possible but I do not recommend doing it since it requires extensive configuration.
    David Khourshid
    @davidkpiano
    Might be related: is it possible for Elk to only calculate edges? I.e., if the positions/sizes of the nodes are known and cannot be moved
    kuldeeparora89
    @kuldeeparora89
    Thanks @soerendomroes , So this means I'll have to go with a custom tree layout approach.
    Sören Domrös
    @soerendomroes
    @davidkpiano Currently it is not possible but it might be in the future, see eclipse/elk#315
    Jeff Green
    @jg-gatech
    I am working on an Eclipse RCP diagramming application and need to include ELK for edge routing. It would be very helpful to have someone to consult so that we can get it done as quickly and efficiently as possible. I would like to have a brief Skype call to show what we have and make sure that ELK will work.
    Sören Domrös
    @soerendomroes
    @jg-gatech Can you post a screenshot of the kind of visualization you are envisioning? If you looking for suggestions on what kind of algorithms and configuration you can use, this would also allow others to contribute to that (since I do not know everything). If you are looking for a guide on how to use the layout algorithms in Eclipse, I suggest taking a look at our documentation first https://www.eclipse.org/elk/documentation/tooldevelopers/usingeclipselayout.html . Currently, I don't have time for a meeting but I am willing to have a look at your problem. I could spare a few minutes right now if you also have time
    Sören Domrös
    @soerendomroes
    @kuldeeparora89 Sadly yes but feel free to contribute your solution for a file system layout to ELK
    Jeff Green
    @jg-gatech
    @soerendomroes, Thanks for your willingness to help. My application creates a model using EMF and has nodes and ports visualized with GEF 3.
    Jeff Green
    @jg-gatech
    If I have two nodes with ports connected with edges as shown below, then I move one node, the edges end up overlaying. I then have to manually move edge segments to separate them as shown in the last image. Can ELK be used to automatically route and separate edges as nodes are moved on the diagram? Is that a reasonable use case?image.png
    image.png
    image.png
    Jeff Green
    @jg-gatech
    image.png
    Another question: in the ELK demonstrator, I moved node1 port4, and found that the related edge has an extra loop in it. What configuration do I need in order to get the shortest route for the edge?
    Sören Domrös
    @soerendomroes
    @jg-gatech ELK cannot do standalone edge routing (see discussion above). It will always move nodes and edges. Therefore, it will do something such as in your third screenshot only if it calculates the node positions such that it is necessary to have different vertical routing slots for the edges.
    Sören Domrös
    @soerendomroes
    @jg-gatech Regarding your other question: This seems to be a bug (and you can link the model you created in the ELK demonstrator by using the Link model button on the lower left). I suggest you create a ticket here https://github.com/eclipse/elk/issues and/or link the corresponding model