Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic How to avoid these overlaps... (Read 4235 times)
jlj30
Full Member
***
Offline


I love YaBB 1G - SP1!

Posts: 183
Joined: Sep 4th, 2011
How to avoid these overlaps...
Apr 11th, 2014 at 7:22pm
Print Post  
Hi,

You've helped me in the past to make some good progress in making our diagrams look better.
I need some additional help.
Please examine the attached screenshots which demonstrate some of the challenges we are having.
As you might recall, I am using the "angle" approach that you provided for determining which anchor points to use on the task shapes (the blue rounded rectangles).  And although this is working, we'd still like to avoid the overlaps.

Any suggestions?  Would adjusting the various avoidance values be an option?  Here's how I currently have them set:

Code
Select All
diagram.RoutingOptions.CrossingCost = 50;  // Original = 50
		diagram.RoutingOptions.LengthCost = 10; // Original = 10
		diagram.RoutingOptions.NodeVicinityCost = 5; // Original = 5
		diagram.RoutingOptions.TurnCost = 1; // Original = 10 



Thanks for any advice.

Jim
  

Overlapping_Links_-_1.png (Attachment deleted)
Overlapping_Links_-_2.png (Attachment deleted)
Overlapping_Links_-_3.png (Attachment deleted)
Back to top
 
IP Logged
 
jlj30
Full Member
***
Offline


I love YaBB 1G - SP1!

Posts: 183
Joined: Sep 4th, 2011
Re: How to avoid these overlaps...
Reply #1 - Apr 13th, 2014 at 3:04pm
Print Post  
Here's another example ...

Jim
  

Overlapping_Links_-_4.png (Attachment deleted)
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: How to avoid these overlaps...
Reply #2 - Apr 14th, 2014 at 7:51am
Print Post  
Hi,

RoutingOptions values are considered only by GridRouter, are you using its instance as diagram's LinkRouter? In addition, at this time CrossingCost is only calculated for links whose Shape is set to Cascading.

If using GridRouter and Cascading links, try also setting smaller RoutingOptions.GridSize, because two links passing through the same grid square would add the CrossingCost penalty even if they don't actually intersect. Thus a coarser grid might lead to choosing a path where links do intersect visually if evaluating alternative routes but the penalty values remain the same (when the non-intersecting alternative still shares a grid square with another link).

I hope that helps,
Stoyan
  
Back to top
 
IP Logged
 
jlj30
Full Member
***
Offline


I love YaBB 1G - SP1!

Posts: 183
Joined: Sep 4th, 2011
Re: How to avoid these overlaps...
Reply #3 - Apr 14th, 2014 at 1:41pm
Print Post  
Hi Stoyan,

I am using GridRouter and LinkShape.Cascading.
Additionally I have set RoutingOptions.GridSize = 1 (mm).

Any other possible suggestions?

Thanks

Jim
  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: How to avoid these overlaps...
Reply #4 - Apr 15th, 2014 at 6:26am
Print Post  
Please attach a saved diagram file showing these links. I've tried to reproduce from one of the screenshots but am getting nice results with all default RoutingOptions settings, both with QuickRouter and GridRouter.
  

link_routes.png (Attachment deleted)
Back to top
 
IP Logged
 
jlj30
Full Member
***
Offline


I love YaBB 1G - SP1!

Posts: 183
Joined: Sep 4th, 2011
Re: How to avoid these overlaps...
Reply #5 - Apr 17th, 2014 at 12:45am
Print Post  
Hi,

I've made some positive progress adjusting the gridsize and playing with the "cost" values.  Here's what I currently have:

Code
Select All
diagram.RoutingOptions.GridSize = 2.3f;
diagram.RoutingOptions.CrossingCost = 50;
diagram.RoutingOptions.LengthCost = 10;
diagram.RoutingOptions.NodeVicinityCost = 35;
diagram.RoutingOptions.TurnCost = 5;  



Although these settings have improved the appearance, there are still some weird bends here and there.
I have attached 2 examples - both screenshots and xml saves of each of the 2 diagrams.

Any thoughts on how I can avoid these strange looking bends in the links?

Thanks

Jim
  

Strange_Bends_001.zip (Attachment deleted)
Strange_Bend_1.png (Attachment deleted)
Strange_Bend_2_001.png (Attachment deleted)
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: How to avoid these overlaps...
Reply #6 - Apr 17th, 2014 at 11:13am
Print Post  
I can see the strange bends after loading the files, but setting your options and calling RouteAllLinks without doing anything else removes them:

Code
Select All
diagram.LinkRouter = new GridRouter();
diagram.RoutingOptions.GridSize = 2.3f;
diagram.RoutingOptions.CrossingCost = 50;
diagram.RoutingOptions.LengthCost = 10;
diagram.RoutingOptions.NodeVicinityCost = 35;
diagram.RoutingOptions.TurnCost = 5;

diagram.RouteAllLinks(); 



Are you sure you aren't running some additional post-processing code that modifies ControlPoints? The chosen paths might depend on the initial positions of links, so I might be seeing different results when calling RouteAll on the already-routed links. Does it look better if you call diagram.RouteAllLinks() for a second time?

Stoyan
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint