Tim Dwyer | 1 Feb 2006 09:28
Picon

connector layout

Hi All,

I recently added the "rectangle overlap removal" algorithm to inkscape and received so much useful feedback (advice, testing and so on) throughout the process that I'm now quite keen to start another project.

The connector stuff that was introduced in 0.43 is a really powerful concept and makes inkscape much more of a "diagramming" tool.  Between the connector routing and the overlap removal stuff we have the basics of some nice automatic diagram layout.  I'd like to continue this by incorporating some "graph layout" algorithms to adjust the positions of objects at the end of connectors to achieve things like minimal crossing of connectors and to better show coupling and cohesion in the network (graph) defined by the connectors.

I'd appreciate any feedback people have on this idea.  Also, I'd really like to use the boost 'graph' libraries to get this happening quickly.  Boost already has some basic layout algorithms which we can use right away, but I'll also need the underlying graph data-structures and algorithms in boost to implement new algorithms.  What are the logistics of adding boost to the inkscape dependency tree?

I've noticed similar requests for boost in the inkscape-devel archives... it seems like I'm not the only one who would benefit.

Looking forward to your comments,

Cheers

Tim

Adib Taraben | 1 Feb 2006 10:22
Picon

Re: connector layout

My 2Eu on this connector thing.

The thing that I am really missing is a way to easy make some corners in 
the connector while connecting. And also the corners can all have a 
default radius.

Right now I have to modify the connection AFTER connection has been done.

Thanks for spending your effort.

Adib.

Tim Dwyer schrieb:
> Hi All,
> 
> I recently added the "rectangle overlap removal" algorithm to inkscape 
> and received so much useful feedback (advice, testing and so on) 
> throughout the process that I'm now quite keen to start another project.
> 
> The connector stuff that was introduced in 0.43 is a really powerful 
> concept and makes inkscape much more of a "diagramming" tool.  Between 
> the connector routing and the overlap removal stuff we have the basics 
> of some nice automatic diagram layout.  I'd like to continue this by 
> incorporating some "graph layout" algorithms to adjust the positions of 
> objects at the end of connectors to achieve things like minimal crossing 
> of connectors and to better show coupling and cohesion in the network 
> (graph) defined by the connectors.
> 
> I'd appreciate any feedback people have on this idea.  Also, I'd really 
> like to use the boost 'graph' libraries to get this happening quickly.  
> Boost already has some basic layout algorithms which we can use right 
> away, but I'll also need the underlying graph data-structures and 
> algorithms in boost to implement new algorithms.  What are the logistics 
> of adding boost to the inkscape dependency tree?
> 
> I've noticed similar requests for boost in the inkscape-devel 
> archives... it seems like I'm not the only one who would benefit.
> 
> Looking forward to your comments,
> 
> Cheers
> 
> Tim

-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
Joshua A. Andler | 1 Feb 2006 16:38

Re: connector layout

Tim Dwyer wrote:
> Hi All,
>
> I recently added the "rectangle overlap removal" algorithm to inkscape 
> and received so much useful feedback (advice, testing and so on) 
> throughout the process that I'm now quite keen to start another project.
>
> The connector stuff that was introduced in 0.43 is a really powerful 
> concept and makes inkscape much more of a "diagramming" tool.  Between 
> the connector routing and the overlap removal stuff we have the basics 
> of some nice automatic diagram layout.  I'd like to continue this by 
> incorporating some "graph layout" algorithms to adjust the positions 
> of objects at the end of connectors to achieve things like minimal 
> crossing of connectors and to better show coupling and cohesion in the 
> network (graph) defined by the connectors.
>
> I'd appreciate any feedback people have on this idea.  Also, I'd 
> really like to use the boost 'graph' libraries to get this happening 
> quickly.  Boost already has some basic layout algorithms which we can 
> use right away, but I'll also need the underlying graph 
> data-structures and algorithms in boost to implement new algorithms.  
> What are the logistics of adding boost to the inkscape dependency tree?
>
> I've noticed similar requests for boost in the inkscape-devel 
> archives... it seems like I'm not the only one who would benefit.

If I'm correct we tried to avoid boost because it was just one more 
dependency. In the specific case I'm thinking of the need for boost was 
very minimal and in the end wasn't enough to merit adding it to the 
dependency list. That's all I know about the history of us and boost... 
I would bet others know much more.

So... you did remove overlaps and now you're looking at connectors. I 
don't believe this is quite what you're talking about, but I just filed 
an rfe that has to do with both removing overlaps and connectors (please 
check the file attached to the RFE to see an example): 
http://sourceforge.net/tracker/index.php?func=detail&aid=1421548&group_id=93438&atid=604309

To summarize the rfe, it would be making connectors lay side-by-side as 
opposed to overlapping when routed through the same object(s). If you've 
ever seen bus or subway maps, it's the same theory. It may not interest 
you, but I figured I'd throw it your way since it ties into two areas 
you have/want to work with. Either way, I can't wait to see more 
graphing functions. And thanks again for remove overlaps.  :-)

-Josh

-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
Ted Gould | 1 Feb 2006 16:42
Favicon
Gravatar

Re: SCALE Booth

On Tue, 2006-01-31 at 00:16 -0800, Jon A. Cruz wrote:
> On Jan 31, 2006, at 12:01 AM, Ted Gould wrote:
> > I was also thinking that we need some artwork, perhaps the About
> > screens?  They say Inkscape on them, yet still show off features?
> >
> > Brainstorming people, argue, attack, kill my ideas!  Go!  :)
>
> Perhaps have things printed/displayed showing Inkscape running on as  
> many platforms as possible. Win9x (we'll get it working again),  
> WinXP, OS X, gnome, kde, Irix...

Do people really use KDE and Irix?  I guess at least Irix looks nice ;)

		--Ted

Ted Gould | 1 Feb 2006 16:50
Favicon
Gravatar

Re: SCALE Booth

On Tue, 2006-01-31 at 09:20 -0700, John Taber wrote:
> Gee, I turn off X-Files and go to bed early and look what I miss :)  The 
> mini-tutorials idea sounds excellent but we won't need one every hour - 
> but we will need a signboard to list the schedule.  I have an easle 
> stand - will bring it with a couple of white boards (maybe use one for 
> the schedule, one to use in tutorials.

Okay, sounds good.  I'm a touch worried about space, I've not set up a
booth before, but if we have too much stuff there'll be no place to sit!

> A bigger question is what to do about equipment.   I have 
> an old svg lcd projector - not the best but...  The main problem with 
> equipment is monitoring it.

What is an SVG LCD projector?  I knew that everything was coming out
with SVG support, but I didn't realize it was in projectors :)

> I think if we had 3 tutorials/day (could be 
> the same both days) and a couple of good big eye catching posters - that 
> would make a great booth. We're tight on time - the idea of using the 
> about screens blown up sounds great.   

Okay.  Does anyone know a printer in LA?  I'm guessing Kinko's is going
to be murder...

> Oh yeah, and some chocolates. 

:)

> Ted, your LA slide show would make a great tutorial.  Let's start a 
> signup schedule of who can be at the booth when.  I'll check my schedule 
> and be back shortly but I know Sat am is out for me.

I think those slides might be too long, it typically takes me just over
an hour to get through them.  I'll start thinking of some smaller
"feature-lets" to cover and see what I can get done.  If I get three
done, we'll have three, if more, more :)

As far as time, I'm pretty flexible.  My wife said "I'd like to see you
sometime on the weekend", but that's my only restriction.  I'd like to
see Dan Kegel's keynote, but that's the only presentation that I really
want to see.  (I think it might actually be before the hall opens
anyway).

		--Ted

Michael Wybrow | 1 Feb 2006 22:54
Picon
Picon

Re: connector layout

On Wed, 1 Feb 2006, Adib Taraben wrote:
>
> The thing that I am really missing is a way to easy make some corners in 
> the connector while connecting.

Am I right in understanding that by "make some corners" you want to able 
to add extra control points to a connector that the route will travel 
through?  That is, the connector is automatically routed between the 
start-point and control point, as well as between the control point and 
end-point, while still being a single connector. There would be controls 
for such a control point to allow it to be moved, deleted, etc.

> And also the corners can all have a default radius.

A couple of people now have suggested (allowing) smoothing the corners of 
the current poly-line connectors, this is pretty trivial to do so I will 
add the ability to the connector tool shortly.

Cheers,
Michael

-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
Michael Wybrow | 1 Feb 2006 23:22
Picon
Picon

Re: connector layout

On Wed, 1 Feb 2006, Tim Dwyer wrote:
>
> I'd appreciate any feedback people have on this idea.  Also, I'd really like
> to use the boost 'graph' libraries to get this happening quickly.  Boost
> already has some basic layout algorithms which we can use right away, but
> I'll also need the underlying graph data-structures and algorithms in boost
> to implement new algorithms.  What are the logistics of adding boost to the
> inkscape dependency tree?

While I haven't actually used boost before, I was just looking at the 
webpage for the Boost Graph Library (http://www.boost.org/libs/graph/doc/) 
which says "[it] is a header-only library and does not need to be built to 
be used."

From what I can see, the examples only require the graph library and don't 
seem to depend on the main Boost library.  So it may be that this library 
wouldn't have to be a "new dependency".  If the licence is compatible we 
could just add it to the source tree.

Michael

-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
John Taber | 1 Feb 2006 23:35

Re: SCALE Booth

Ted Gould wrote:
> Okay, sounds good.  I'm a touch worried about space, I've not set up a
> booth before, but if we have too much stuff there'll be no place to sit!

Depends if you want to sit in front or behind table - panels will take 
up most of 6 ft table - designed more for hanging posters.

> What is an SVG LCD projector?  I knew that everything was coming out
> with SVG support, but I didn't realize it was in projectors :)

Ha! Freudian slip, I meant "SGA" 800x600 projector - as I said not the 
best but I can bring it.

> Okay.  Does anyone know a printer in LA?  I'm guessing Kinko's is going
> to be murder...

Not sure what you mean, I've generally used Kinkos for my company stuff 
- best to go after midnight when they're not too rushed and will spend a 
minute talking it thru, checking CD's, etc.  Then plan to pick up next 
morning.  Depends on store but they often do the board stuff at night. 
Some graphics supply places do this stuff too, sometimes where 
planners/engineerns/architects take their stuff.  You can call a few and 
ask around - usually called "laminating"
> 

I run Inkscape on Ubuntu - but I only have vers. 0.42 that came with 
Breezy.

John

-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
Michael Wybrow | 1 Feb 2006 23:27
Picon
Picon

Re: connector layout

On Wed, 1 Feb 2006, Joshua A. Andler wrote:
>
> So... you did remove overlaps and now you're looking at connectors. I don't 
> believe this is quite what you're talking about, but I just filed an rfe that 
> has to do with both removing overlaps and connectors (please check the file 
> attached to the RFE to see an example): 
> http://sourceforge.net/tracker/index.php?func=detail&aid=1421548&group_id=93438&atid=604309
>
> To summarize the rfe, it would be making connectors lay side-by-side as 
> opposed to overlapping when routed through the same object(s). If you've ever 
> seen bus or subway maps, it's the same theory. It may not interest you, but I 
> figured I'd throw it your way since it ties into two areas you have/want to 
> work with. Either way, I can't wait to see more graphing functions. And 
> thanks again for remove overlaps.  :-)

That particular Feature Request is something I probably need to address in 
the connector routing code.  This is something I definitely plan to look 
at, though it may not be for a couple of months.

FWIW, Tim and I are part of the same research group and will be working 
closely together in implementing some more useful diagramming features.

Cheers,
Michael

-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
Michael Wybrow | 1 Feb 2006 23:39
Picon
Picon

Re: connector layout


On Wed, 1 Feb 2006, Tim Dwyer wrote:
>
> I'd appreciate any feedback people have on this idea.  Also, I'd really 
> like to use the boost 'graph' libraries to get this happening quickly. 
> Boost already has some basic layout algorithms which we can use right 
> away, but I'll also need the underlying graph data-structures and 
> algorithms in boost to implement new algorithms.  What are the logistics 
> of adding boost to the inkscape dependency tree?

While I haven't actually used boost before, I was just looking at the 
webpage for the Boost Graph Library (http://www.boost.org/libs/graph/doc/) 
which says "[it] is a header-only library and does not need to be built to 
be used."

From what I can see, the examples only require the graph library and don't 
seem to depend on the main Boost library.  So it may be that this library 
wouldn't have to be a "new dependency".  If the licence is compatible we 
could just add it to the source tree.

Michael

-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642

Gmane