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
    @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
    Jeff Green
    @jg-gatech
    @soerendomroes I read the discussion above, and yet, in the demonstrator, I can move nodes and ports and ELK then calculates the routing between them without moving them from the position I defined. That appears to be the behavior I want, and sounds like it contradicts the discussion above. Thanks for helping me understand!
    Sören Domrös
    @soerendomroes
    @jg-gatech Can you provide a link to your model such that I can have a look at it?
    Sören Domrös
    @soerendomroes
    @jg-gatech If I get you correctly you only ever want to change the model file and not move individual nodes in the diagram to specific positions ELK might be the solution for you but I must know the following:
    ELK layered tries to place nodes such that connected nodes are not in the same layer. So-called in-layer edges are not handled very well. I am also not sure whether it is a good idea to use wrapping for your models. The wrapping strategy was developed to fit very long models in a more even aspect ratio, so your last screenshot is intended behavior. The normal layered approach would be to place the two nodes below each other (since your layout direction is down) by disabling the wrapping strategy.
    Sören Domrös
    @soerendomroes
    This would be the way ELK layered would normally display your model
    Jeff Green
    @jg-gatech
    I scanned through the documentation but still am not clear what you mean by "layered", "wrapping", and "in-layer edges". Thanks for your responses thus far!
    Sören Domrös
    @soerendomroes
    @jg-gatech "layered" is the algorithm you are using in your example, see "elk.algorithm": "layered". Since the layout direction is set to DOWN, the algorithm creates layers under each other and places your nodes in them (as seen here. In-layer edges (edges between nodes in the same layer) are normally not created. However, in your case, they seem to be (but are not), since you set a wrapping strategy, see "org.eclipse.elk.layered.wrapping.strategy": "MULTI_EDGE" in your model. The wrapping strategy and correctionFactor specify how a very long graph is wrapped to have a "better" aspect ratio (see this and this example).
    vibsid0986
    @vibsid0986
    image.png
    image.png

    Hi Everyone, I am trying to create bend points in my Elkedge while designing the layout of my project(Designing an indented tree), however those edges are not getting formed properly and they are forming sort of like a triangle. I am attaching screenshots of both my expected layout and the one that i am getting right now. It would be great if anyone could help me in figuring out what i am missing over here.

    Let me know if anything else is required.

    PS: I am just trying to copy the layout part.

    Christoph Daniel Schulze
    @le-cds
    @vibsid0986 Hi there. Looks to me like the edge coordinates are correct, but you might be setting some sort of fill on whatever kind of object you're applying the coordinates to.
    vibsid0986
    @vibsid0986
    Hi @le-cds thanks for replying. I think, i figured out the issue. Actually the list of ElkEdgeSection is coming as empty in my Elkedges.getSections(). I am unable to figure out why is it coming empty as i have already created edges using Gedge and routing points as well. So it should show routing points in Elkedgesection.getBendPoints() but that list of edge sections is empty. Can you help me figure out what could be the issue??
    Christoph Daniel Schulze
    @le-cds
    @vibsid0986 Can you share the direct output of the algorithm with us? If you're using elkjs, for instance, the algorithm's direct JSON output would help. :)
    vibsid0986
    @vibsid0986
    Hi @le-cds,
    Thanks for your earlier response, it was indeed because of the fill that I had used, I removed it and now its working fine. :)
    Christoph Daniel Schulze
    @le-cds
    @vibsid0986 Glad to hear that! Cheers :)
    vibsid0986
    @vibsid0986
    Hi @eliasweatherfield, did you try changing "hierarchyHandling: INHERIT". I think this will work.
    eliasweatherfield
    @eliasweatherfield
    Thanks. That results in a completely different graph though, doesn't it? I want to leave everything else unchanged.
    vibsid0986
    @vibsid0986
    image.png
    image.png
    Hi,
    Can anyone help me what am I missing over here. I have already signed the ECA and my Github id is also linked to my Eclipse.org account, however I am still getting this error message while trying to create a merge request for a specific issue.
    David Khourshid
    @davidkpiano
    How would you make self-loop edges appear stacked on top of each other (vertically) instead of horizontally?
    CleanShot 2021-08-02 at 07.57.13@2x.png
    saulshanabrook
    @saulshanabrook:matrix.org
    [m]
    I was curious about the edge compaction. It seems like it isn't compacting the compound nodes, just the outer nodes? For example this is with it off
    And then this, below, is with it on EDGE_LENGTH: