kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #29431
Re: [FEATURE] Partial selection in pcbnew
Looks like JP has already fixed this :)
On Wed, May 10, 2017 at 10:56 PM, Wayne Stambaugh <stambaughw@xxxxxxxxx>
wrote:
> Windows builds on mingw using gcc 6.3.0 are broken. Here is the
> compiler error:
>
> C:/msys64/home/wstambaugh/src/kicad-trunk/common/base_struct.cpp: In
> member function 'bool EDA_RECT::IntersectsCircleEdge(const wxPoint&,
> int, int) const':
> C:/msys64/home/wstambaugh/src/kicad-trunk/common/base_struct.cpp:592:17:
> error: expected unqualified-id before '=' token
> wxPoint far = FarthestPointTo( aCenter );
> ^
> C:/msys64/home/wstambaugh/src/kicad-trunk/common/base_struct.cpp:594:18:
> error: expected primary-expression before 'double'
> double fx = (double) far.x;
> ^~~~~~
> C:/msys64/home/wstambaugh/src/kicad-trunk/common/base_struct.cpp:594:18:
> error: expected ')' before 'double'
> C:/msys64/home/wstambaugh/src/kicad-trunk/common/base_struct.cpp:595:18:
> error: expected primary-expression before 'double'
> double fy = (double) far.y;
> ^~~~~~
> C:/msys64/home/wstambaugh/src/kicad-trunk/common/base_struct.cpp:595:18:
> error: expected ')' before 'double'
> make[2]: *** [common/CMakeFiles/common.dir/build.make:1200:
> common/CMakeFiles/common.dir/base_struct.cpp.obj] Error 1
> make[1]: *** [CMakeFiles/Makefile2:326:
> common/CMakeFiles/common.dir/all] Error 2
>
>
> On 5/10/2017 5:41 AM, Maciej Sumiński wrote:
> > Hi Oliver,
> >
> > Thank you very much for your effort, I have just pushed your patches to
> > the master branch.
> >
> > Regards,
> > Orson
> >
> > On 05/09/2017 09:32 AM, Oliver Walters wrote:
> >> Two more patches for this set (attached)
> >>
> >> 0017 - Slight fix for arc segment hit test (line width was not accounted
> >> for)
> >> 0018 - SELECTION_AREA color now indicates selection mode as discussed
> above:
> >>
> >> a) Normal selection = BLUE
> >> b) Addition selection = GREEN (Shift modifier)
> >> c) Subtraction selection = RED (Control modifier)
> >>
> >> Additionally the line color indicates whether it is window selection
> (left
> >> to right) or crossing selection (right to left). This is in lieu of
> making
> >> the line dashed which does not seem to be possible unless that is added
> to
> >> GAL_CAIRO and GAL_OPENGL.
> >>
> >> Regards,
> >> Oliver
> >>
> >> On Tue, May 9, 2017 at 3:22 PM, Andrey Kuznetsov <kandrey89@xxxxxxxxx>
> >> wrote:
> >>
> >>> What's CTRL taken by?
> >>> I thought CTRL would be used to toggle grid snapping?
> >>>
> >>> On Mon, May 8, 2017 at 3:39 PM, José Ignacio <jose.cyborg@xxxxxxxxx>
> >>> wrote:
> >>>
> >>>> Or switching between object and grid snap :)
> >>>>
> >>>> On Mon, May 8, 2017 at 5:34 PM, Wayne Stambaugh <stambaughw@xxxxxxxxx
> >
> >>>> wrote:
> >>>>
> >>>>> I tend to lean toward Oliver's approach. Most CAD tools I've used
> have
> >>>>> this type of includes vs intersects selection paradigm. I don't see
> the
> >>>>> need to tie up the modifier key if we don't have to. I would prefer
> >>>>> that we keep a modifier key open for something like orthogonal move.
> >>>>>
> >>>>> On 5/8/2017 5:51 PM, Oliver Walters wrote:
> >>>>>> I was approaching this from having used mechanical CAD tools where
> the
> >>>>>> direction of selection is the standard approach. Whatever function
> is
> >>>>>> chosen, it will still be required that the users adjust to the new
> >>>>>> style, manuals updated, etc.
> >>>>>>
> >>>>>> Is assigning what is essentially the last remaining modifier key
> worth
> >>>>>> it for this?
> >>>>>>
> >>>>>> On 8 May 2017 23:55, "Nick Østergaard" <oe.nick@xxxxxxxxx
> >>>>>> <mailto:oe.nick@xxxxxxxxx>> wrote:
> >>>>>>
> >>>>>> 2017-05-08 14:59 GMT+02:00 Maciej Sumiński <
> >>>>> maciej.suminski@xxxxxxx
> >>>>>> <mailto:maciej.suminski@xxxxxxx>>:
> >>>>>> > Hi Oliver,
> >>>>>> >
> >>>>>> > I took your set of patches for a test drive. I am glad that
> you
> >>>>>> thought
> >>>>>> > about the subtractive mode in the selection tool, it really
> fits
> >>>>>> there.
> >>>>>> > Regarding different selection modes - I like the idea, but I
> >>>>> think the
> >>>>>> > two modes should be more distinct, changing the selection
> >>>>> direction
> >>>>>> > might be not enough.
> >>>>>> >
> >>>>>>
> >>>>>> I personally prefer modifier keys as we are used to in Gimp and
> >>>>>> Inkscape.
> >>>>>>
> >>>>>> > I observed another user trying out the tool and he could not
> >>>>> tell how
> >>>>>> > does it work, but noticed it is a bit different than the old
> >>>>> tool.
> >>>>>> >
> >>>>>> > Perhaps one of the following would work:
> >>>>>> >
> >>>>>> > - change the selection box colors so they are easier to tell
> >>>>> apart (my
> >>>>>> > mate was surprised to find out there were two colors for the
> >>>>>> selection box)
> >>>>>> >
> >>>>>> > - change the mode using a key modifier (I think only Alt is
> left
> >>>>> free)
> >>>>>> > or mouse button
> >>>>>> >
> >>>>>> > - add an option to select the default mode (though I do not
> >>>>> really
> >>>>>> like
> >>>>>> > having too many options to set)
> >>>>>> >
> >>>>>> > I agree with Tom about the geometry library. IIRC currently it
> >>>>> is only
> >>>>>> > used by the PNS router, but ultimately we would like to use it
> >>>>> in the
> >>>>>> > primary model. The library already provides methods to check
> for
> >>>>>> > collisions between basic shapes, yet we still need a few more.
> >>>>>> > It would be a pity to drop your code now, so perhaps we could
> >>>>>> merge the
> >>>>>> > code as is and fix the methods during the model refactor.
> >>>>>> >
> >>>>>> > Just to let you know, there are a few code formatting
> violations
> >>>>>> (mostly
> >>>>>> > not keeping two empty lines between method definitions in .cpp
> >>>>> files),
> >>>>>> > but as they are infrequent - I can handle them myself.
> >>>>>> >
> >>>>>> > Regards,
> >>>>>> > Orson
> >>>>>> >
> >>>>>> > On 05/07/2017 02:11 AM, Oliver Walters wrote:
> >>>>>> >> Maciej,
> >>>>>> >>
> >>>>>> >> That was it! Thanks for the hint.
> >>>>>> >>
> >>>>>> >> #0016 attached, which fixes both issues:
> >>>>>> >>
> >>>>>> >> a) No more double-selection of module and module-items (pads
> /
> >>>>>> lines / etc)
> >>>>>> >> in PCBNEW
> >>>>>> >> b) Disable selection of entire module in MODEDIT
> >>>>>> >>
> >>>>>> >> As far as I can tell this patchset is now working very well.
> >>>>>> >>
> >>>>>> >> Regards,
> >>>>>> >> Oliver
> >>>>>> >>
> >>>>>> >> On Sat, May 6, 2017 at 10:21 PM, Oliver Walters <
> >>>>>> >> oliver.henry.walters@xxxxxxxxx
> >>>>>> <mailto:oliver.henry.walters@xxxxxxxxx>> wrote:
> >>>>>> >>
> >>>>>> >>> Maciej,
> >>>>>> >>>
> >>>>>> >>> Thanks, I'll look into that. If you have a chance to look
> over
> >>>>>> what I've
> >>>>>> >>> done, I'd appreciate that :)
> >>>>>> >>>
> >>>>>> >>> On Sat, May 6, 2017 at 10:17 PM, Maciej Suminski
> >>>>>> <maciej.suminski@xxxxxxx <mailto:maciej.suminski@xxxxxxx>>
> >>>>>> >>> wrote:
> >>>>>> >>>
> >>>>>> >>>> Hi Oliver,
> >>>>>> >>>>
> >>>>>> >>>> I have not tested the patches yet, but my gut feeling says
> >>>>> that
> >>>>>> you miss
> >>>>>> >>>> calling SELECTION_TOOL::selectable() to filter out
> redundant
> >>>>> items.
> >>>>>> >>>>
> >>>>>> >>>> Regards,
> >>>>>> >>>> Orson
> >>>>>> >>>>
> >>>>>> >>>> On 05/06/2017 09:21 AM, Oliver Walters wrote:
> >>>>>> >>>>> Three further patch files attached:
> >>>>>> >>>>>
> >>>>>> >>>>> - Different color select box based on direction
> >>>>>> >>>>> - Fixed HitTest for EDA_TEXT
> >>>>>> >>>>> - Control modifier unselects anything in rectangle.
> >>>>>> >>>>>
> >>>>>> >>>>> The major piece of feedback I need right now is how to
> >>>>> perfect the
> >>>>>> >>>>> behaviour of the tool in PCBNEW and MODEDIT:
> >>>>>> >>>>>
> >>>>>> >>>>> a) PCBNEW
> >>>>>> >>>>>
> >>>>>> >>>>> Selecting part of a MODULE (right to left) will select
> both
> >>>>>> the entire
> >>>>>> >>>>> module and also any parts of the module that you touched
> >>>>>> (lines, pads,
> >>>>>> >>>>> etc). Then, when you move the module, the doubly-selected
> >>>>>> items are
> >>>>>> >>>> moved
> >>>>>> >>>>> twice! It is hard to describe properly but if you try this
> >>>>> you
> >>>>>> will see
> >>>>>> >>>>> what I mean.
> >>>>>> >>>>>
> >>>>>> >>>>> b) MODEDIT
> >>>>>> >>>>>
> >>>>>> >>>>> Selecting any item in the footprint selects the entire
> >>>>>> footprint, which
> >>>>>> >>>> is
> >>>>>> >>>>> highly undesirable. In this case I think the best
> approach is
> >>>>>> to filter
> >>>>>> >>>> the
> >>>>>> >>>>> MODULE from the selection entirely. But I am not sure how
> to
> >>>>>> do this.
> >>>>>> >>>>>
> >>>>>> >>>>> Feedback welcome :)
> >>>>>> >>>>>
> >>>>>> >>>>> Regards,
> >>>>>> >>>>> Oliver
> >>>>>> >>>>>
> >>>>>> >>>>> On Tue, May 2, 2017 at 5:25 PM, Oliver Walters <
> >>>>>> >>>>> oliver.henry.walters@xxxxxxxxx
> >>>>>> <mailto:oliver.henry.walters@xxxxxxxxx>> 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.
> >>>>>> >>>>>>
> >>>>>> >>>>>> To achieve this I had to fix a lot of the HitTest
> >>>>>> implementations as
> >>>>>> >>>> this
> >>>>>> >>>>>> was broken for most shapes, under a variety of edge cases
> >>>>>> (some HitTest
> >>>>>> >>>>>> code did not work at all).
> >>>>>> >>>>>>
> >>>>>> >>>>>> 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
> >>>>>> <https://launchpad.net/~kicad-developers>
> >>>>>> >>>>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >>>>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >>>>>> >>>>> Unsubscribe : https://launchpad.net/~kicad-developers
> >>>>>> <https://launchpad.net/~kicad-developers>
> >>>>>> >>>>> More help : https://help.launchpad.net/ListHelp
> >>>>>> <https://help.launchpad.net/ListHelp>
> >>>>>> >>>>>
> >>>>>> >>>>
> >>>>>> >>>> _______________________________________________
> >>>>>> >>>> Mailing list: https://launchpad.net/~kicad-developers
> >>>>>> <https://launchpad.net/~kicad-developers>
> >>>>>> >>>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >>>>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >>>>>> >>>> Unsubscribe : https://launchpad.net/~kicad-developers
> >>>>>> <https://launchpad.net/~kicad-developers>
> >>>>>> >>>> More help : https://help.launchpad.net/ListHelp
> >>>>>> <https://help.launchpad.net/ListHelp>
> >>>>>> >>>>
> >>>>>> >>>
> >>>>>> >>>
> >>>>>> >>
> >>>>>> >
> >>>>>> >
> >>>>>> >
> >>>>>> > _______________________________________________
> >>>>>> > Mailing list: https://launchpad.net/~kicad-developers
> >>>>>> <https://launchpad.net/~kicad-developers>
> >>>>>> > Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >>>>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >>>>>> > Unsubscribe : https://launchpad.net/~kicad-developers
> >>>>>> <https://launchpad.net/~kicad-developers>
> >>>>>> > More help : https://help.launchpad.net/ListHelp
> >>>>>> <https://help.launchpad.net/ListHelp>
> >>>>>> >
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> _______________________________________________
> >>>>>> 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
> >>>>>>
> >>>>>
> >>>>>
> >>>>> _______________________________________________
> >>>>> 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
> >>>>>
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> 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
> >>>>
> >>>>
> >>>
> >>>
> >>> --
> >>> Remember The Past, Live The Present, Change The Future
> >>> Those who look only to the past or the present are certain to miss the
> >>> future [JFK]
> >>>
> >>> kandrey89@xxxxxxxxx
> >>> Live Long and Prosper,
> >>> Andrey
> >>>
> >>> _______________________________________________
> >>> 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
> >>>
> >>>
> >>
> >>
> >>
> >> _______________________________________________
> >> 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
> >>
> >
> >
> >
> >
> > _______________________________________________
> > 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
> >
>
> _______________________________________________
> 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
-
[FEATURE] Partial selection in pcbnew
From: Oliver Walters, 2017-05-02
-
Re: [FEATURE] Partial selection in pcbnew
From: Oliver Walters, 2017-05-06
-
Re: [FEATURE] Partial selection in pcbnew
From: Maciej Suminski, 2017-05-06
-
Re: [FEATURE] Partial selection in pcbnew
From: Oliver Walters, 2017-05-06
-
Re: [FEATURE] Partial selection in pcbnew
From: Oliver Walters, 2017-05-07
-
Re: [FEATURE] Partial selection in pcbnew
From: Maciej Sumiński, 2017-05-08
-
Re: [FEATURE] Partial selection in pcbnew
From: Nick Østergaard, 2017-05-08
-
Re: [FEATURE] Partial selection in pcbnew
From: Oliver Walters, 2017-05-08
-
Re: [FEATURE] Partial selection in pcbnew
From: Wayne Stambaugh, 2017-05-08
-
Re: [FEATURE] Partial selection in pcbnew
From: José Ignacio, 2017-05-08
-
Re: [FEATURE] Partial selection in pcbnew
From: Andrey Kuznetsov, 2017-05-09
-
Re: [FEATURE] Partial selection in pcbnew
From: Oliver Walters, 2017-05-09
-
Re: [FEATURE] Partial selection in pcbnew
From: Maciej Sumiński, 2017-05-10
-
Re: [FEATURE] Partial selection in pcbnew
From: Wayne Stambaugh, 2017-05-10