Jon, This fixed the issue so I merged your patch. Thanks.
Wayne On 2/21/2018 8:46 PM, Jon Evans wrote: > Here's a patch that fixes the issues observed. > I have changed the algorithm to a simpler one that should be more > bulletproof. > I think the optimal approach for complicated footprints is still not > this way, but that would require more time to tweak and optimize (i.e. > generating some kind of bounding hull that is non-convex, and caching it > until the shape changes) > > You can see the new patch on Andrzej's test files here: > https://imgur.com/a/L16ky > Purple shows the bounding boxes, yellow shows the selectable area under > the new algorithm. > > -Jon > > On Wed, Feb 21, 2018 at 1:41 PM, Wayne Stambaugh <stambau...@gmail.com > <mailto:stambau...@gmail.com>> wrote: > > If you could get it done by Friday before I roll out rc1, that's fine. > > Wayne > > On 2/21/2018 1:37 PM, Jon Evans wrote: > > I'll be able to look at it this evening. Can report then whether or not > > I will have a patch tonight. Up to you whether or not that is too long > > of a delay. > > > > -Jon > > > > On Wed, Feb 21, 2018 at 1:32 PM, Wayne Stambaugh <stambau...@gmail.com > <mailto:stambau...@gmail.com> > > <mailto:stambau...@gmail.com <mailto:stambau...@gmail.com>>> wrote: > > > > Jon, > > > > Would you please take a look at this as soon as possible? If > you cannot > > get to it in a reasonable amount of time, please let me know > so I can > > back out your polygon hit test patch. We need to be able to > select > > footprints. > > > > Thanks, > > > > Wayne > > > > On 2/21/2018 11:41 AM, Andrzej Wolski wrote: > > > After this patch, I can no longer select some footprints by > clicking > > > inside their area. > > > Please see the board in an attachment. > > > > > > Andrzej > > > > > > W dniu 2018-02-20 o 16:44, Wayne Stambaugh pisze: > > >> Jon, > > >> > > >> I merged your patch. > > >> > > >> Thanks, > > >> > > >> Wayne > > >> > > >> On 2/18/2018 7:01 PM, Jon Evans wrote: > > >>> Hi Wayne, > > >>> > > >>> In my testing there is no performance impact, but more > testing is > > >>> welcome. It shouldn't be doing the calculation on too many > > objects in > > >>> general, since this is a "second pass" hit test that > applies to > > modules > > >>> that have a bounding box overlapping the mouse cursor. > > >>> However, I did some more testing and discovered some weird > > behavior, so > > >>> I have tweaked the algorithm in the attached new version > of the > > patch. > > >>> > > >>> -Jon > > >>> > > >>> On Sun, Feb 18, 2018 at 5:25 PM, Wayne Stambaugh > > <stambau...@gmail.com <mailto:stambau...@gmail.com> > <mailto:stambau...@gmail.com <mailto:stambau...@gmail.com>> > > >>> <mailto:stambau...@gmail.com <mailto:stambau...@gmail.com> > <mailto:stambau...@gmail.com <mailto:stambau...@gmail.com>>>> wrote: > > >>> > > >>> Hey Jon, > > >>> > > >>> Did you notice an performance hit with your patch? > > Obviously there > > >>> is going to be more overhead calculating a polygon > versus a > > >>> rectangle. I just want to be sure we are not causing any > > usability > > >>> issues due to the polygon calculations. > > >>> > > >>> Thanks, > > >>> > > >>> Wayne > > >>> > > >>> > > >>> On 02/18/2018 12:10 PM, Jon Evans wrote: > > >>> > > >>> Hi all, > > >>> > > >>> The attached patch adds some plumbing to > calculate and > > make use > > >>> of a polygonal bounding area for modules. It > fixes the > > below > > >>> issue and in general improves the accuracy of > selection > > in my > > >>> testing. > > >>> > > >>> This mechanism could be extended to other objects > besides > > >>> modules if it's useful. I figured I'd start by > sending out > > >>> this > > >>> patch to get feedback, and if it gets merged, > look for > > other > > >>> areas where we could improve things by using polygons > > >>> instead of > > >>> bounding boxes. > > >>> > > >>> https://bugs.launchpad.net/kicad/+bug/1749077 > <https://bugs.launchpad.net/kicad/+bug/1749077> > > <https://bugs.launchpad.net/kicad/+bug/1749077 > <https://bugs.launchpad.net/kicad/+bug/1749077>> > > >>> <https://bugs.launchpad.net/kicad/+bug/1749077 > <https://bugs.launchpad.net/kicad/+bug/1749077> > > <https://bugs.launchpad.net/kicad/+bug/1749077 > <https://bugs.launchpad.net/kicad/+bug/1749077>>> > > >>> > > >>> -Jon > > >>> > > >>> > > >>> _______________________________________________ > > >>> Mailing list: > https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers>> > > >>> <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers>>> > > >>> Post to : > kicad-developers@lists.launchpad.net > <mailto:kicad-developers@lists.launchpad.net> > > <mailto:kicad-developers@lists.launchpad.net > <mailto:kicad-developers@lists.launchpad.net>> > > >>> <mailto:kicad-developers@lists.launchpad.net > <mailto:kicad-developers@lists.launchpad.net> > > <mailto:kicad-developers@lists.launchpad.net > <mailto:kicad-developers@lists.launchpad.net>>> > > >>> Unsubscribe : https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers>> > > >>> <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers>>> > > >>> More help : https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp> > > <https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp>> > > >>> <https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp> > > <https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp>>> > > >>> > > >>> > > >>> _______________________________________________ > > >>> Mailing list: https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers>> > > >>> <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers>>> > > >>> Post to : kicad-developers@lists.launchpad.net > <mailto:kicad-developers@lists.launchpad.net> > > <mailto:kicad-developers@lists.launchpad.net > <mailto:kicad-developers@lists.launchpad.net>> > > >>> <mailto:kicad-developers@lists.launchpad.net > <mailto:kicad-developers@lists.launchpad.net> > > <mailto:kicad-developers@lists.launchpad.net > <mailto:kicad-developers@lists.launchpad.net>>> > > >>> Unsubscribe : https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers>> > > >>> <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers>>> > > >>> More help : https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp> > > <https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp>> > > >>> <https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp> > > <https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp>>> > > >>> > > >>> > > >> _______________________________________________ > > >> Mailing list: https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers>> > > >> Post to : kicad-developers@lists.launchpad.net > <mailto:kicad-developers@lists.launchpad.net> > > <mailto:kicad-developers@lists.launchpad.net > <mailto:kicad-developers@lists.launchpad.net>> > > >> Unsubscribe : https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers>> > > >> More help : https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp> > > <https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp>> > > > > > > > > > > > > > > > _______________________________________________ > > > Mailing list: https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers>> > > > Post to : kicad-developers@lists.launchpad.net > <mailto:kicad-developers@lists.launchpad.net> > > <mailto:kicad-developers@lists.launchpad.net > <mailto:kicad-developers@lists.launchpad.net>> > > > Unsubscribe : https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers>> > > > More help : https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp> > > <https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp>> > > > > > > > _______________________________________________ > > Mailing list: https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers>> > > Post to : kicad-developers@lists.launchpad.net > <mailto:kicad-developers@lists.launchpad.net> > > <mailto:kicad-developers@lists.launchpad.net > <mailto:kicad-developers@lists.launchpad.net>> > > Unsubscribe : https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > <https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers>> > > More help : https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp> > > <https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp>> > > > > > > _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp