Marek Roszko
4665823089
Turn on and fix MSVC compliance mode issues
...
We want /permissive- to enable debug performance improvements in MSVC 17.5+.
This flag is also default under C++20 so we'll have to deal with these compile issues anyway at some point in the future.
In particular, MSVC becomes pedantic about ternary types.
See https://learn.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-170#ambiguous-conditional-operator-arguments
MSFT cites https://cplusplus.github.io/CWG/issues/1805.html
2023-02-12 16:30:37 -05:00
Alex
b5191c8c22
Fail-safety in spreadRectangles.
2023-02-11 16:42:27 +03:00
Alex
89429996da
Fix a crash in rectpack2D when unable to pack footprints.
2023-02-10 22:45:07 +03:00
Alex
1c2345776e
Remove unused variable.
2023-02-01 07:28:55 +03:00
Alex
4095172259
ADDED: Pack and Move Footprints, improved footprint spread algorithm.
2022-09-28 13:37:23 +00:00
Marek Roszko
3d5913c825
Remove convert_to_biu.h, merge contents to base_units.h
2022-09-16 21:09:28 -04:00
Marek Roszko
66e8931405
Remove IU_PER_MM thats standalone
2022-09-16 21:09:27 -04:00
Marek Roszko
a8613ee80f
Combine Iu2Millimeter & remove PcbMm2iu
2022-09-16 21:09:26 -04:00
Jeff Young
9188838e50
RIP EDA_RECT.
2022-08-31 23:57:24 +01:00
Marek Roszko
8588bea4b2
Avoid potential divide by zero in footprint spreading PVS V609
2022-02-05 11:23:05 -05:00
Marek Roszko
ac715d2e51
Scoop up some more wxPoint instances
2022-01-03 20:00:53 -05:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Marek Roszko
347e03363a
Convert wxPoint/wxSize starting from EDA_RECT usages
2022-01-01 11:30:33 -05:00
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
Jeff Young
86aaa2e9cb
Rationalize footprint bounding boxes and cache all of them.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7720
2021-02-26 13:50:27 +00:00
Jeff Young
bdbb68f813
MODULE -> FOOTPRINT.
2020-11-13 16:04:03 +00:00
Jeff Young
522d64968e
Yet more module -> footprint.
2020-11-13 15:16:24 +00:00
Jeff Young
2cc9dad4ff
More module -> footprint.
2020-11-13 15:16:24 +00:00
Jeff Young
84dd5108ba
Remove some "class_" prefixes from files.
2020-11-13 15:16:23 +00:00
Seth Hillbrand
f8a4edb1c9
First pass renaming module to footprint
...
This is mostly in comments and the few remainin text strings that
reference module
2020-10-20 20:49:11 -07:00
jean-pierre charras
0b23cb7dbb
more cleanup about removing useless include
2020-10-03 15:26:03 +02:00
jean-pierre charras
2a026bd882
spread_footprints.cpp: try to avoid integer overflow when spreading footprints.
...
In rare cases (one known case) sizes of areas used as container when spreading
footprints can become negative, thus hanging pcbnew.
Happens if many footprints are very big (say 80cm).
Now if there is no room to place footprints, some are stacked.
2020-02-29 17:25:52 +01:00
Jeff Young
129042f8a6
Convert timestamps to UUIDs.
2020-02-20 21:29:52 +00:00
jean-pierre charras
e04436b138
Cleaning code: remove dead code in spread_footprints.cpp.
2019-08-10 20:29:54 +02:00
Jeff Young
8f84c3ec4f
Grid rid of GetCanvas/GetGalCanvas distinction now that there's only gal.
2019-06-13 19:58:37 +01:00
Jeff Young
c2662b0e11
Retire EDA_DRAW_PANEL and legacy_wx/EDA_DRAW_FRAME.
2019-05-31 21:55:30 +01:00
Jeff Young
d6e9bdf07b
Convert remaining legacy drawing code to print code.
2019-05-31 21:54:22 +01:00
Jeff Young
0f9ded9563
Space out placed footprints with some padding.
...
Fixes: lp:1788917
* https://bugs.launchpad.net/kicad/+bug/1788917
2018-09-14 10:21:45 +01:00
Jeff Young
43e99e6df0
Inflate footprint bounding box to include texts.
...
This makes zoom automatique work much better in the footprint
editor, and should improve other things which probably assumed
the bounding box included everything (such as refresh code).
Callers which still want just the module outline should call
GetFootprintRect() instead of GetBoundingBox().
2018-08-11 17:14:27 +01:00
jean-pierre charras
8552f3fedf
fix code after renaming files
2018-01-29 22:00:44 +01:00
Jon Evans
88f7c55d95
Move ZoomFitScreen and ZoomPreset from PCBNEW_CONTROL to COMMON_TOOLS
...
BOARD::GetBoundingBox() now directly calls BOARD::ComputeBoundingBox()
and there is a new method BOARD::GetBoardEdgesBoundingBox() used for
call sites that needed to use ComputeBoundingBox( true ) in the past.
This allows COMMON_TOOLS to implement ZoomFitScreen without knowledge
of the BOARD class.
2017-03-03 13:28:19 +01:00
jean-pierre charras
89f9b7df5c
Pcbnew: when update PCB from schematic, spread footprints also in legacy mode. Remove also one useless undo command level after update.
2016-10-25 15:34:59 +02:00
jean-pierre charras
34469c1d9c
Pcbnew, legacy mode: used spread_footprints to place new footprints after reading a netlist, like in GAL mode.
...
However they are put inside the "best" area, and not put inside a moving block, like in GAL, due to limitations of legacy mode.
2016-07-11 09:48:51 +02:00
Simon Richter
1b2fd6a382
Replace BOOST_FOREACH with C++11 range based for.
2016-06-29 16:07:55 -04:00
Jon Neal
f309eaab00
Pcbnew: spread and pick up new footprints when loaded.
2016-01-10 16:24:13 -05:00
Wayne Stambaugh
4c6ca81f2c
More Coverity scan error fixes.
2015-02-22 16:25:29 -05:00
Marco Ciampa
5d306bb244
Rename instances of module to footprint for consistency.
2014-10-30 11:37:46 -04:00
jean-pierre charras
a1b065c190
Fix a minor bug I created in commit 4733
2014-03-05 18:57:13 +01:00
jean-pierre charras
764b5c11bf
Minor code cleanup in 3d viewer (remove dead or useless code). Some minor other fixes.
2014-03-05 18:40:23 +01:00
jean-pierre charras
f068c0d94f
Pcbnew: Autoplace functions: renamed spread footprint functions. Rewritten.
...
Now footprints, after loaded by reading a netlist are grouped by sheets by the footprints spread function, and the grouping is better.
Rename 2 files. Fix minor issues. Clean code
2013-11-27 14:20:42 +01:00