Hi ar, Ales and Peter,

On Sonntag, 13. Januar 2008, a r wrote:
> On Jan 12, 2008 9:37 PM, a r <[EMAIL PROTECTED]> wrote:
> > I have found a bug in the logic of previously attached patch. New
> > patch will follow soon but first I want to clean up it a bit more
> > and test.
>
> I've attached an updated patch (sorry, again it's for v.1.3.0). The
> logic was changed to match the previously described behaviour. As far
> as the placement algorithm is concerned, I am done with it.

The patch applied cleanly to the current master. (1.4.0).

The patch greatly improves the net routing, but there are still some 
things I don't like:

* in o_net_rubbernet the net toggles depending on whether dx is larger
  than dy an vice versa.
  It violates the "rule of least surprise" [1].
* If there are more than one connectable objects at the start location
  the decision of the net direction ist not always that good.
* Iterating all objects is not required in o_net_start() as we have the
  tile code for all connectable objects (pin, bus, nets).

If we would like to improve the net routing, I'd suggest the following 
actions:
In o_net_start() we should decide which is the best routing for each 
sector, depending on the matching connection objects at the start 
point. No changes of the decision after that in o_net_rubbernet().

The options could be rated in a single function: 
* prefered drawing direction is away from the current endpoint of a 
  line, next is orthographic direction, least the opposite direction. 
* overwriting a net is less important than overwriting a pin.
* ...

@Ales: 
You're worried about the copyright of anonymous contributions. I'd 
reimplement the functionality from scratch, taking some of the ideas, 
but I won't reuse the code from the patch.
Would that be ok for you?

@Peter:
As we have the tile code, do you think we need a more efficient 
implementation to track down the connections at the start net point?

@ar:
Is it really that important to you to keep your anonymity?

[1] http://www.faqs.org/docs/artu/ch11s01.html

Regards
Werner



_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev

Reply via email to