On 02.05.2017 09:25, Oliver Walters wrote: > I have attached a patch-set that implements "partial selection" of > objects when the selection box is dragged right-to-left. > > L -> R = Objects must be completely enclosed to be selected > R -> L = Objects that intersect the selection rectangle will be selected. >
Hi Olivier, I tested your patch and I like the way it works. As somebody suggested, changing the color of the selection area depending on the selection mode would make it easier to discover the new selection mode. > this was broken for most shapes, under a variety of edge cases (some > HitTest code did not work at all). > One remark about the HitTest() functions. We would prefer collision tests to be implemented in the geometry library (common/geometry) and so decoupled from the board objects to make these functions reusable. As a matter of a fact, the geometry library already does most collision checks between rectangles and other shapes (except for arcs and polysets). I noticed you're good with computational geometry, would you be able to move the features you wrote to the geometry library? Best, Tom > To achieve this I had to fix a lot of the HitTest implementations as > There are two issues I see as outstanding, and am unsure how to proceed: > > 1. When editing a PCB, selecting part of a footprint (e.g. a line of the > courtyard) selects both that line and the entire footprint. This causes > some issues when the footprint is dragged around the PCB. I believe that > the line should not be selected separately, but the entire footprint should. > > 2. The inverse of 1. In the footprint editor, selecting a single > graphical item selects the entire footprint. Somehow I would like to > filter the selection such that individual items are selected but NOT the > entire footprint. > > Feedback please! :) > > I have fixed hit testing (both for wxPoint and EDA_RECT comparison) for: > > - Pads (all shapes) > - Lines > - Circles > - Arcs > - Text items > - Zones > - Footprints > > Cheers, > Oliver > > > > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : [email protected] > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

