Hi, Thanks for merging this patch - I wanted to try it out but I wasn't able to apply it on top of the 1.3~1.4 version.
It is indeed an interesting functionality. The following are my observations that I had after playing with it a bit: 1. Other schematic editors do not connect a currently drawn net to the attracting point by default. Instead, the net follows the cursor closely (the attracting point is displayed but is not used) and only if a "snap" key is pressed the net is forced to connect to the attracting point. It's a bit like having a "monostable" magnetic-mode option instead of "bistable" one, as it is now. 2. It should be possible to merge this patch with the net routing patch that I've posted to this list a few weeks ago. As far as I can see the functionality provided by both of them is orthogonal (i.e. the magnetic mode patch does not attempt to improve routing algorithm). I bet you will like it. 3. Code searching for a nearest attracting point is another place where a spatial index could be useful. Finally, there is a number of other possible improvements in the net drawing code: a) (matter of preference) I don't like nets being routed from the current mouse position. This is the default behavior when the net drawing mode is activated from a keyboard shortcut. I agree that it may save somebody one click but it is inconsistent with other activation methods. Same thing applies to other modes as well (selecting, moving, copying etc.). Is it worth having a configuration option here? In other tools it is called a "prefix mode" (which is turned off by default, i.e. used is required to click on the starting/reference point). b) The net is terminated when user clicks on its ending point again (that's OK). IMHO it should also be terminated on a double-click (at any location) or if the end point is on an existing net/pin. c) The net is terminated when its mid-point happens to be placed on an existing net/pin (and this mid-point is then used as an ending point). This is very confusing and IMHO should be disabled (alternatively that connected mid-point could become a new start point). d) Net consolidation code. There are some bugs here (try for example drawing nets on top of an existing net) but IMHO the biggest problem is that segments should end at nearest net connections, pins or bends. Currently the whole straight part of the net is being treated like a single net segment which make editing more difficult and does not work well in the moving mode. Cheers, -r. On Feb 3, 2008 11:18 AM, Werner Hoch <[EMAIL PROTECTED]> wrote: > Hi there, > > I've taken the patch [#1824420] > http://sourceforge.net/tracker/index.php?func=detail&aid=1824420&group_id=161080&atid=818428 > and integrated it into my gaf repo: > http://repo.or.cz/w/geda-gaf/werner.git?a=shortlog;h=magnetic2 > > It's mostly the same as the patch but with following things changed: > * integration to the options menu > * TOPLEVEL vs. GSCHEM_TOPLEVEL splited > * indentation. > I've manually merged it. There are sometimes segfaults, not sure if it > was in the original patch or in my improper integration. > > > I've reworked the patch and the result is in this branch: > http://repo.or.cz/w/geda-gaf/werner.git?a=shortlog;h=magnetic3 > > Not yet ready for integration, but damn cool to use ;-) > > I need to cut it into smaller commits, add some documentation and do > some function renamings. > > Regards > Werner > > > _______________________________________________ > geda-dev mailing list > [email protected] > http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev > _______________________________________________ geda-dev mailing list [email protected] http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev
