Re: Routing Library



Thanks for the input.

On 5/16/07, Lars Clausen <lars raeder dk> wrote:
On Mon, 2007-05-14 at 15:28 -0500, David Barnett wrote:
> ...
You can see what Dia has in the area in lib/autoroute.c, it's pretty
basic.  We have no autolayout at all.
Thanks, I'll have a look what's there before I spend too much time on it.  It's easy to throw ideas out there without really planning how to actually implement them, or to improve an existing implementation.

  Accounting for strange shapes of
nodes and different kinds of edges did end up making it somewhat complex
compared to what it achieves.  I'd love to ship that part off to a
library.
Yeah, it's amazing how difficult geometry algorithms can be.  I did some tinkering in Python to get ideas, and I noticed that just testing for line segment intersections takes a little thinking.  That's why I'm thinking some standardized code could help lick the problem for a lot of projects.  Hopefully, all but the most perfectionist features will be pretty low on processing time, so it won't bog down streamlined software.  And I'd want to keep the design modular ( i.e., the core library, widgets...) so there would be plenty of choice between flexibility and simplicity for downstream apps.

> ...
A frequently requested feature is some marking of crossing lines, which
may fall under the purvey of plugins.
I definitely had that in mind when I mentioned plugins.  Some other important possibilities would be routing order (which edges are routed first, and whether to evaluate a few permutations) and edge connection placement (if the connection points aren't fixed, whether and how they should be adjusted).  I'm not sure if any of those would lend themselves to plugins, and a plugin framework might be a lot of work in itself.  It does seem a little strange having plugins to a library...maybe that's not the right word.

> ...
I agree it would be useful, and if it exists already, I'd like to know
so I can use it.
Glad to know it's not a *completely* ridiculous suggestion, either on the "too hard" side or the "already available" side.

David


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]