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
