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 <kandre...@gmail.com> >> 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.cyb...@gmail.com> >>> wrote: >>> >>>> Or switching between object and grid snap :) >>>> >>>> On Mon, May 8, 2017 at 5:34 PM, Wayne Stambaugh <stambau...@gmail.com> >>>> 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.n...@gmail.com >>>>>> <mailto:oe.n...@gmail.com>> wrote: >>>>>> >>>>>> 2017-05-08 14:59 GMT+02:00 Maciej Sumiński < >>>>> maciej.sumin...@cern.ch >>>>>> <mailto:maciej.sumin...@cern.ch>>: >>>>>> > 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.walt...@gmail.com >>>>>> <mailto:oliver.henry.walt...@gmail.com>> 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.sumin...@cern.ch <mailto:maciej.sumin...@cern.ch>> >>>>>> >>> 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.walt...@gmail.com >>>>>> <mailto:oliver.henry.walt...@gmail.com>> 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@lists.launchpad.net >>>>>> <mailto:kicad-developers@lists.launchpad.net> >>>>>> >>>>> 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@lists.launchpad.net >>>>>> <mailto:kicad-developers@lists.launchpad.net> >>>>>> >>>> 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@lists.launchpad.net >>>>>> <mailto:kicad-developers@lists.launchpad.net> >>>>>> > 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@lists.launchpad.net >>>>>> Unsubscribe : https://launchpad.net/~kicad-developers >>>>>> More help : 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 >>>>> >>>> >>>> >>>> _______________________________________________ >>>> 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 >>>> >>>> >>> >>> >>> -- >>> 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] >>> >>> kandre...@gmail.com >>> Live Long and Prosper, >>> Andrey >>> >>> _______________________________________________ >>> 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 >>> >>> >> >> >> >> _______________________________________________ >> 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 >> > > > > > _______________________________________________ > 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 > _______________________________________________ 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