Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    David Khourshid
    @davidkpiano
    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:
    You can see that some edges are compacted, but for example the edge on the compound node on the right side are not.
    Do you have any tips for ways I can compact this graph?
    These are my options I am using:
    {
        algorithm: 'layered',
        'org.eclipse.elk.direction': 'DOWN',
        'org.eclipse.elk.layered.compaction.postCompaction.strategy': 'EDGE_LENGTH',
        // https://github.com/kieler/elkjs/issues/44#issuecomment-412283358
        'org.eclipse.elk.hierarchyHandling': 'INCLUDE_CHILDREN',
        'org.eclipse.elk.layered.nodePlacement.strategy': 'NETWORK_SIMPLEX',
        'org.eclipse.elk.partitioning.activate': true,
      }
    Anthony Dentinger
    @anthony.dentinger_gitlab
    Hi, is it possible to give elk some constraints like requesting that certain/all diagram blocks be fixed in place? Basically, when the user manually moves a block, I'd just want elk to redo layouting of the diagram's wires. I'm using the layered algorithm.
    2 replies
    Laurent Redor
    @lredor
    Hi @anthony.dentinger_gitlab , the answer is no. See #eclipse/elk#355 and eclipse/elk#315 for details
    David Khourshid
    @davidkpiano
    CleanShot 2021-08-09 at 10.46.24@2x.png
    What layout option can prevent this step-down layout from happening?
    Laurent Redor
    @lredor
    Hi @davidkpiano, there is no reason to do that. Can you join an example with your option in https://rtsys.informatik.uni-kiel.de/elklive/elkgraph.html ?
    David Khourshid
    @davidkpiano
    Disregard the previous problem; it was because of ports
    CleanShot 2021-08-10 at 08.15.06@2x.png
    New problem: is it possible to have inline labels but aligned at the TAIL position? Instead of below the line
              'edgeLabels.inline': 'true',
              'edgeLabels.placement': 'TAIL',
    Saul Shanabrook
    @saulshanabrook
    @davidkpiano Can I ask what you are using for rendering? It looks really nice!
    1 reply
    David Khourshid
    @davidkpiano
    Is it possible, using the layered algorithm, to have wrapping go like this?
    A -> B -> C
              |
    F <- E <- D
    Sören Domrös
    @soerendomroes

    @davidkpiano

    How would you make self-loop edges appear stacked on top of each other (vertically) instead of horizontally?

    If this was not answered, I guess this should depend on the layout direction in the hierarchical node

    omygoodness
    @omygoodness
    image.png
    Hi guys. Quick question: Is there any layout option or different property that allows changing the spacing between the arrow and junction point. I am setting mergeEdges to true. Here is my example
    Julien Le Dem
    @julienledem
    I'd like to generate an image (svg for example) from my ELkNode in java after the layout. Is there an existing utility?
    Sören Domrös
    @soerendomroes
    @julienledem ELK contributes a Debug Graph view for Eclipse that can also render the graph (via org.eclipse.core.ui.rendering.GraphRenderer . Since this view introduces eclipse.ui dependencies and, therefore, eclipse.SWT dependencies I advise against this if you are not already in an Eclipse application. If you are already in an Eclipse context you could also use (KLighd)[https://github.com/kieler/KLighD] or the (sprotty-server component)[https://github.com/eclipse/sprotty-server] to correctly estimate text sizes and such
    Julien Le Dem
    @julienledem
    thank you Sören, I am not in an eclipse environment, I want to do the layout and render an image as a standalone java process. I was wondering if there was a starting point for that.
    Sören Domrös
    @soerendomroes
    @julienledem I currently do this via KLighd (which uses freehep for SVG export and can also export BMP, JPEG, PNG). I think LightDiagramServices.renderOffScreen is a good starting point
    Julien Le Dem
    @julienledem
    thank you
    Sören Domrös
    @soerendomroes
    @DPros Since your graph is layouted as three different components you have to use org.eclipse.elk.spacing.componentComponent
    1 reply
    BoiseStateCS410
    @BoiseStateCS410
    First plugin based on template generated without options file. I installed Eclipse (most recent Sep 21 version) then added support for plugin development (PDE) then installed ELK as shown in documentation. Compiling against Java 15 (because it seemed there were some java 15 components). While my "new plugin" screens look slightly different than the example, I followed the options shown. Repeated new project creation several times with same result. Suggestions? (Mike L)
    BoiseStateCS410
    @BoiseStateCS410
    Update: I tried again using Java 11 with the same results.
    Sören Domrös
    @soerendomroes
    @BoiseStateCS410 Hi, is the Eclipse Layout Kernel (Incubation) SDK installed? It should be used to generate a src-gen folder in your new layout plugin with the options file in it. Do you have build automatically enabled?
    BoiseStateCS410
    @BoiseStateCS410
    Soren: Thanks so much for responding. Yes the ELK (Incubation) is installed. I'm a bit confused by your question about build being automatically enabled. I thought you were asking about creating a Maven pom.xml file, so I created that, but it complains about the absence of the options file, so clearly that wasn't the issue. I don't see any field, or command where I specify automatic build--when creating the new plugin project. On the first page "New Plug-in Project" all I add is the Project Name. I leave the "Use default location" checked, I leave the "Create a java project" checked, I leave the Target Platform set to "Eclipse". In step 4 of the current documentation page it shows all of the "Options" as blank on the Content page, that is: I do not generate an Activator, do not select "This plugin will make contributions to the UI", do not select "Enable API analysis" and leave "Create a rich client application?" as No. Should I be doing something different? Or could there be an installation step I haven't done? It looks like it ran correctly. When I look at "Installed software" I see 14 ELK components. I appreciate the help.
    Soren: To clarify, the ELD SDK (Incubation) is installed.
    pmoogk
    @pmoogk
    @uruuru Hey there, I've got another ELKJS question. I've got a graph setup right now that uses the layered algorithm. I have set the merge edges option to true, so for each node I get one port for all the incoming edges and one port of all outgoing references. This is working great right now. I recently got a new requirement where in addition to the one incoming port and 1 outgoing port for the merged edges I need a new port that attaches to a special node. I saw that the docs for merged edges indicates that merged edges only works for edges that don't have a port. So I was hoping that if I added a port to the source and target nodes that I would be able to continue to have merged edges, but in some cases the node would connect to another node via a new port that I defined instead of the using the incoming and outgoing ports. Can you let me know if what I'm trying to do is possible or not? Perhaps what I'm trying to do will never work when merge edges is enabled. I tried adding port information to each node. To add the port information to the node I simply added
    ports:[{id:"myport"}] to each of the nodes I wanted to connect. In the edges section I added an edge that looked like this {id:"myedge", sources["node:1.myport"], targets:["node:2.myport"]}. When I run ELK with this data I get an error that Referenced shape node:1.myport does not exist. Perhaps, I haven't configured the port info right. Any insight on this would be very much appreciated. Thanks!
    BoiseStateCS410
    @BoiseStateCS410
    Soren: I've checked my settings again, and when I select Project from the top Eclipse menu, it shows the "Build Automatically" option set on.
    Sören Domrös
    @soerendomroes
    @BoiseStateCS410 I am unsure whether I understood correctly what you are trying to do. I think you are trying to develop a layout algorithm. To achieve this you installed ELK in your Eclipse and then created a Plug-In Project with some name and some algorithm id. You left every option checked as it was and just specified and name and id and so on of your algorithm. You selected the layout algorithm plugin template. I thought that, a .melk file and a LayoutProvider were generated but no src-gen folder. If this is the case then ELK incubation does not work. If a src-gen folder was generated but an options file is missing, try to specify an id for your plugin that is different than the name of the layout algorithm.
    BoiseStateCS410
    @BoiseStateCS410
    Soren That works perfectly. Thank you.