kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #29359
Re: [FEATURE] Partial selection in pcbnew
-
To:
Oliver Walters <oliver.henry.walters@xxxxxxxxx>, KiCad Developers <kicad-developers@xxxxxxxxxxxxxxxxxxx>
-
From:
Tomasz Wlostowski <tomasz.wlostowski@xxxxxxx>
-
Date:
Thu, 4 May 2017 23:42:15 +0200
-
Authentication-results:
spf=pass (sender IP is 188.184.36.50) smtp.mailfrom=cern.ch; lists.launchpad.net; dkim=none (message not signed) header.d=none;lists.launchpad.net; dmarc=bestguesspass action=none header.from=cern.ch;
-
In-reply-to:
<CAMfgvU-coVWzhLKKrtDb_V3LKkDGgNW=M5e8vNJ7pg2y_CqS+Q@mail.gmail.com>
-
Spamdiagnosticmetadata:
NSPM
-
Spamdiagnosticoutput:
1:99
-
User-agent:
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
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 : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
Follow ups
References