Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Graphiti » Programmatically avoid Activities during Connection Creation
Programmatically avoid Activities during Connection Creation [message #1694650] Wed, 06 May 2015 20:20 Go to next message
Mike Sherry is currently offline Mike SherryFriend
Messages: 3
Registered: May 2015
Junior Member
I am attempting to import an existing xpdl and recreate the diagram. The problem is the xpdl's are missing bendpoint information for the connections.

I am programmatically creating connections between activities, but my connections are going through other activities. Is it possible to have the connection avoid touching other activities?

I am hoping there is an automated routing algorithm already in place. If not possibly adding bend points automatically to avoid activities.

Example: I would like the flow from "Task" to "End" not go through "Task2"
index.php/fa/21731/0/


Any thoughts?

Thanks!
  • Attachment: graphiti.PNG
    (Size: 7.13KB, Downloaded 315 times)
Re: Programmatically avoid Activities during Connection Creation [message #1694747 is a reply to message #1694650] Thu, 07 May 2015 14:15 Go to previous messageGo to next message
Robert Brodt is currently offline Robert BrodtFriend
Messages: 811
Registered: August 2010
Location: Colorado Springs, CO
Senior Member

Hi Mike,

Connection routing is not an easy problem to solve - I speak from experience Wink

GEF does support a Manhattan Connection router, but I don't think it is fully supported in Graphiti. And even that router does not do any kind of collision detection - it just ensures that all line segments are orthogonal, so what you get is something like this:

http://content.screencast.com/users/BobBrodt/folders/Jing/media/6d508967-1a33-4cc4-9dbf-8806dec6d5de/2015-05-07_0813.png


I found that if you want proper connection routing you'll have to do the collision detection and line crossing analysis yourself, and add bendpoints as necessary.


Cheers,
Bob
Re: Programmatically avoid Activities during Connection Creation [message #1694748 is a reply to message #1694747] Thu, 07 May 2015 14:15 Go to previous messageGo to next message
Robert Brodt is currently offline Robert BrodtFriend
Messages: 811
Registered: August 2010
Location: Colorado Springs, CO
Senior Member

No Message Body
Re: Programmatically avoid Activities during Connection Creation [message #1694812 is a reply to message #1694650] Fri, 08 May 2015 07:31 Go to previous messageGo to next message
Michael Wenz is currently offline Michael WenzFriend
Messages: 1890
Registered: July 2009
Location: Walldorf, Germany
Senior Member
Mike,

Graphiti itself does not bring any connection routing, but it allows
embedding any existing layouting algorithms provided by other libraries.
There are existing specialised libraries like e.g. from the KIELER project
(https://www.informatik.uni-kiel.de/rtsys/kieler/) or commercial
implementations like yFiles. Also GEF comes with a basic routing
implementation as Robert already wrote. Graphiti does not bring on own one
simply because that is a complex topic and there are specialized solutions
out there.

An example how to integrate any layouting library can be found here (for the
GEF router):
http://www.eclipse.org/graphiti/developers/faq.php (question2)

HTH,
Michael
Re: Programmatically avoid Activities during Connection Creation [message #1695039 is a reply to message #1694812] Mon, 11 May 2015 14:18 Go to previous message
Mike Sherry is currently offline Mike SherryFriend
Messages: 3
Registered: May 2015
Junior Member
Thank you for the assistance Michael, it looks like I will try to implement kieler layouting algorithm to improve my diagrams.

~Mike
Previous Topic:MultiText transparency + animations in Graphiti
Next Topic:Diagram does not update after model is changed
Goto Forum:
  


Current Time: Tue May 22 14:16:54 GMT 2018

Powered by FUDForum. Page generated in 0.02438 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top