Page Index Toggle Pages: 1 Send TopicPrint
Hot Topic (More than 10 Replies) OrthogonalRouter.LinkPadding (Read 4181 times)
mihai
Junior Member
**
Offline



Posts: 86
Joined: Jul 29th, 2009
OrthogonalRouter.LinkPadding
Oct 5th, 2009 at 3:03pm
Print Post  
Hi,

Is there a way to add a LinkPadding property to the OrthogonalRouter (not OrthogonalLayout), similar to the FlowchartLayout?

Thanks in advance,
-Mihai
  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: OrthogonalRouter.LinkPadding
Reply #1 - Oct 5th, 2009 at 6:31pm
Print Post  
Hi,

I think at this time the links are distributed uniformly along the node border. We'll check if we can modify the router to use a fixed distance, though probably it won't be possible for all nodes, e.g. ones that have too many links to fit along their circumference.

Stoyan
  
Back to top
 
IP Logged
 
mihai
Junior Member
**
Offline



Posts: 86
Joined: Jul 29th, 2009
Re: OrthogonalRouter.LinkPadding
Reply #2 - Oct 6th, 2009 at 6:43am
Print Post  
Hi Stoyan,

Cool idea!
What if the link control points would repulse each other?

Thanks,
-Mihai
  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: OrthogonalRouter.LinkPadding
Reply #3 - Oct 6th, 2009 at 10:03am
Print Post  
Hi Mihai,

Do you need this LinkPadding as a fixed distance between adjacent links, or as a minimum distance? When you say that the end points should repulse each other, I understand it as a minimum distance. But in that case, what will be the difference from the current implementation, which distributes the end points along the node side?

Stoyan
  
Back to top
 
IP Logged
 
mihai
Junior Member
**
Offline



Posts: 86
Joined: Jul 29th, 2009
Re: OrthogonalRouter.LinkPadding
Reply #4 - Oct 7th, 2009 at 2:37pm
Print Post  
Hi Stoyan,

Of course, you're right!

But now I realize that for the scenario I had in mind all the link's control points must be considered by a "repulsion" algorithm. Let me modify a sample and get back to you.

Talk to you soon,
-Mihai
  
Back to top
 
IP Logged
 
mihai
Junior Member
**
Offline



Posts: 86
Joined: Jul 29th, 2009
Re: OrthogonalRouter.LinkPadding
Reply #5 - Oct 7th, 2009 at 4:02pm
Print Post  
Hi Stoyan,

Sample sent via email.

Thanks in advance,
-Mihai
  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: OrthogonalRouter.LinkPadding
Reply #6 - Oct 9th, 2009 at 9:43am
Print Post  
Hi Mihai,

So based on this repulsion, you'd like some of the links that now go between node2 and node5 to go round the nodes instead? E.g. on the left of node2 and the right of node5?

Stoyan
  
Back to top
 
IP Logged
 
mihai
Junior Member
**
Offline



Posts: 86
Joined: Jul 29th, 2009
Re: OrthogonalRouter.LinkPadding
Reply #7 - Oct 9th, 2009 at 10:02am
Print Post  
Hi Stoyan,

Yes, exactly!

Thanks in advance,
-Mihai
  
Back to top
 
IP Logged
 
mihai
Junior Member
**
Offline



Posts: 86
Joined: Jul 29th, 2009
Re: OrthogonalRouter.LinkPadding
Reply #8 - Oct 20th, 2009 at 5:21pm
Print Post  
Hi Stoyan,

Have you had a chance to look into it?

Thanks in advance,
-Mihai
  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: OrthogonalRouter.LinkPadding
Reply #9 - Oct 21st, 2009 at 7:48am
Print Post  
Hi Mihai,

We haven't had yet.

Stoyan
  
Back to top
 
IP Logged
 
mihai
Junior Member
**
Offline



Posts: 86
Joined: Jul 29th, 2009
Re: OrthogonalRouter.LinkPadding
Reply #10 - Oct 21st, 2009 at 8:03am
Print Post  
Hi Stoyan,

Thanks for the reply. Is there anything I could try to pull this off myself, say by inheriting from the OrthogonalRouter?

Thanks in advance,
-Mihai
  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: OrthogonalRouter.LinkPadding
Reply #11 - Oct 21st, 2009 at 10:21am
Print Post  
Hi Mihai,

You can't override any of the OrthogonalRouter methods at this time. You might try a different approach. When you have a large group of links between the same nodes, replace some subset of them such that a link is split into two temporary links that connect a shared temporary node. Based on the number of initial links, you could split them into several such groups; e.g. for 20 links as in your example, you could leave 5 of them as they are, and replace the others with 3 virtual nodes each connecting 5 pairs of virtual links. After the layout completes, replace the virtual links and nodes with the actual links again, merging their control point arrays found by the layout and assigning the merged points to the actual links.

Stoyan
  
Back to top
 
IP Logged
 
mihai
Junior Member
**
Offline



Posts: 86
Joined: Jul 29th, 2009
Re: OrthogonalRouter.LinkPadding
Reply #12 - Oct 22nd, 2009 at 2:21pm
Print Post  
Hi Stoyan,

Thanks much for your suggestion! I'll still keep my fingers crossed for a built-in solution. Smiley

Thanks,
-Mihai
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint