Profile Picture

How do we route Nevron Diagram with Groups??

Posted By Ted O'Grady 12 Years Ago
Author
Message
Ted O'Grady
sad Posted 12 Years Ago
View Quick Profile
Junior Member

Junior Member (12 reputation)Junior Member (12 reputation)Junior Member (12 reputation)Junior Member (12 reputation)Junior Member (12 reputation)Junior Member (12 reputation)Junior Member (12 reputation)Junior Member (12 reputation)Junior Member (12 reputation)

Group: Forum Members
Last Active: 11 Years Ago
Posts: 12, Visits: 1
We are using Nevron Diagrams for Winforms to build graph diagrams and are having difficulties with the routing. The objects placed on the surface are groups of objects that are bound together and have a dynamic HV connector to other grouped objects.

We have two problems:
1) When we set the location of all the objects explicitly, and then ask the document to reroute, the NGroups are not routed around (This is used to allow the user to save their preferred layout).
2) When we move an object after applying an NLayerGraphLayout, and ask to reroute the line, the NGroups are not routed around.

Routing does work around groups in the initial layout of NLayeredGraphLayout.

What we see is we have connectors that run directly through the centre of an group if it's connecting to another group that is on the opposite side of the port applied to the source group.

We have been able to replicate this in the Nevron demo apps using the Group Layout within the Document Object Model examples. You can see a screenshot of this below. Also attached are examples of where the routing is not working properly within our application.

How do we route around NGroups?

- ted

Nevron Support
Posted 12 Years Ago
View Quick Profile
Supreme Being

Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)

Group: Forum Members
Last Active: Last Week
Posts: 3,054, Visits: 4,009

Hello Ted,

There were no attachments with your post. Can you please try to attach the files again. It will also be useful if you can send a sample project to the Support Team.



Best Regards,
Nevron Support Team



Ted O'Grady
Posted 12 Years Ago
View Quick Profile
Junior Member

Junior Member (12 reputation)Junior Member (12 reputation)Junior Member (12 reputation)Junior Member (12 reputation)Junior Member (12 reputation)Junior Member (12 reputation)Junior Member (12 reputation)Junior Member (12 reputation)Junior Member (12 reputation)

Group: Forum Members
Last Active: 11 Years Ago
Posts: 12, Visits: 1
The easiest way to see the example is to run the nevron winform C# examples.

Steps to replicate

1) Select "Document Object model"
2) Select "Groups"
3) Select "Group Layout"
4) Drag the node Labelled "0" underneath all the other nodes
5) Right Click on each line and choose"Reroute" on each of the lines
6) Lines will go through each of the grouped objects (as shown in figure 1)


Next steps show expected layout:
1) Select the "A" Group
2) Right Click and select "Ungroup" from the Action menu
3) Choose the connector and choose "Reroute"
4) Lines now go around all the objects (as shown in figure 2)

- ted

P.S. When you choose preview in chrome - your attachments are lost without warning

Attachments
Nevron-Fig1.PNG (158 views, 5.00 KB)
Nevron-Fig2.PNG (165 views, 5.00 KB)
Nevron Support
Posted 12 Years Ago
View Quick Profile
Supreme Being

Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)

Group: Forum Members
Last Active: Last Week
Posts: 3,054, Visits: 4,009

Hi,

 

In order to make the example work as expected when rerouting the edges, you should do one of the following modifications in the CreateGroupPorts method:

 

1. You should set the Direction of the port to autocenter:

port.DirectionMode = BoundsPortDirectionMode.AutoCenter;

or

 

2. You should create a rotated bounds port instead of a dynamic port:

NRotatedBoundsPort port = new NRotatedBoundsPort(new NContentAlignment(ContentAlignment.TopCenter));


Best Regards,
Nevron Support Team





Similar Topics


Reading This Topic