Jeff Young
96f01d33c8
Performance improvements.
...
1) Move a bunch of std::map's to std::unordered_map to get constant-time
look-ups
2) Lengthen progress-reporting intervals to spend more time doing work
and less time talking about it
3) Reverse order of SHAPE_LINE_CHAINs in thermal intersection checks to
make (much) better use of bbox caches
4) Don't re-generate bboxes we already have
5) Fix some autos that weren't by reference (and were therefore copying
large datasets)
6) Rename delta progressDelta so it's easier to search for in future
7) Get rid of a few more autos (because I don't like them)
8) Pass large items to lambdas by reference
Fixes https://gitlab.com/kicad/code/kicad/issues/12130
2022-08-03 11:59:42 +01:00
Jeff Young
f41af10007
Clean up hole shapes for safety (smart pointer) and consistency.
2022-07-22 23:06:07 +01:00
Seth Hillbrand
16e3d40552
ADDED: Display calculated clearance in status bar
...
In addition to showing resolved clearance, we also show the calculated
clearance in the same method as is used for DRC. This will allow users
to better examine their system while working.
Fixes https://gitlab.com/kicad/code/kicad/issues/7934
2022-07-21 15:44:48 -07:00
Mike Williams
3d1d432c5e
PCB Editor: re-add missing color to dynamic ratsnest
2022-07-12 19:36:51 -04:00
Jeff Young
b8479bf6f1
Handle severity ignore rules in router.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11609
2022-07-09 11:24:47 -06:00
Jeff Young
833dc70bff
Add edge-exclusions to router (for castellated pads).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1790
2022-06-27 15:16:37 -06:00
Tomasz Wlostowski
4192c0a709
router: move IsFlashedOnLayer to the IFACE_BASE class so that it can be used in the debugger tool
2022-06-09 00:30:57 +02:00
Jon Evans
9a2950cca1
PNS: Use exact hulls for walkaround path generation
...
When we generate hulls, by default we subtract the clearance epsilon
to prevent false collisions in the router that wouldn't be flagged
by DRC. However, we need to use the actual hull with no epsilon
when generating hulls for pathfinding in the walkaround system.
Without this change, it is possible for the walkaround to generate
a valid-seeming path that results in a DRC violation, for example
when dragging a drag against a board edge.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10536
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11365
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10710
(cherry picked from commit 2a91ba35c1
)
2022-06-04 00:04:03 -04:00
Tomasz Wlostowski
a4ad47cd08
router: use SHAPEs and PNS::ITEMs only in the ROUTER_PREVIEW_ITEM
2022-06-03 23:28:40 +02:00
Tomasz Wlostowski
45f7cf9571
router: rework the DEBUG_DECORATOR a bit:
...
- support for dumping complete PNS::ITEMs and generic SHAPEs
- support for log nesting levels
- wxT-ized strings
- more verbose output where needed
2022-03-03 01:02:00 +01:00
Jeff Young
639fdb915a
Implement real layer test for visibility.
2022-02-24 21:32:43 +00:00
Jeff Young
f076d07e9e
Fix asserts.
2022-02-24 18:16:45 +00:00
Jeff Young
a2ca8cf413
Improve SNR.
2022-02-12 18:38:11 +00:00
Jeff Young
8dcc933fc3
Don't use bounding box cache during insideArea.
...
For starters we can't rely on it having been updated, but we also
cache the entire result so there's no huge cost-savings anyway.
Fixes https://gitlab.com/kicad/code/kicad/issues/10821
2022-02-12 18:38:11 +00:00
Jeff Young
b2e3f03222
More wide-string declarations.
2022-02-05 22:03:04 +00:00
Jeff Young
5739505aa3
TextBoxes for PCBNew.
2022-01-31 20:00:47 +00:00
Jeff Young
e61144d45a
Finish with EDA_ANGLE.
2022-01-16 21:15:40 +00:00
Jeff Young
d485eb2514
Move pads to EDA_ANGLE.
2022-01-14 16:08:18 +00:00
Jon Evans
eac1936303
PNS: Do not clear layer pairs when importing new sizes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10225
(cherry picked from commit 20bbf9b179
)
2022-01-13 20:38:08 -05:00
Jeff Young
eb58d7e44c
Text glyph caches and bug fixes.
...
1) Unify metrics between stroke and outline fonts
2) Unify handling of rotation and mirroring
3) Bug fixes in collision handling
4) Use of VECTOR2I (instead of VECTOR2D) for world-coordinates
5) Generate outline font overbar with rounded ends and fix rotation
bugs
6) Generate wxEVT_CHOICE events from FONT_CHOICE::SetFontSelection
7) Change text-item PNS SOLIDs to use compound shapes
2022-01-08 16:47:45 +00:00
Jeff Young
72340fcee2
Implement router and DRC collisions for outline fonts.
2022-01-08 16:47:45 +00:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Jeff Young
5e4a704155
Remove some more duplicated preferences.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10112
2021-12-26 13:37:28 +00:00
Jeff Young
2538ad16aa
Handle router collisions with filled shapes.
2021-12-24 21:10:28 +00:00
Jeff Young
ed79f6e511
Clean up some TODOs.
2021-12-24 21:10:28 +00:00
Jeff Young
9ee28ea8f5
Flatten out some more preferences.
2021-12-24 15:43:20 +00:00
Mike Williams
956ac871c3
PCB Editor: changes to track width overrides starting track width
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8797
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8797
2021-12-15 23:32:48 +00:00
Jeff Young
95087c6de5
Fix clearance outlines for router head.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9885
2021-12-06 15:51:53 +00:00
Jeff Young
5cb2641142
Fix nullptr dereference in router.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9844
2021-12-02 13:20:44 +00:00
Jeff Young
3c0b10b022
Don't use approximated shapes for router hulls.
...
We only do 45-degree routing anyway so we might as well build an
octagonal-based hull from the get-go.
Fixes https://gitlab.com/kicad/code/kicad/issues/7672
Fixes https://gitlab.com/kicad/code/kicad/issues/9544
Fixes https://gitlab.com/kicad/code/kicad/issues/9833
2021-12-01 19:44:30 +00:00
Jeff Young
6652e5acf4
Draw pad holes when dragging.
...
Most of the time they're under the pad, but the provide needed
info when the hole is larger than the pad.
Fixes https://gitlab.com/kicad/code/kicad/issues/9786
2021-11-27 00:55:09 +00:00
Jeff Young
99ec2b1801
Don't hide original object when highlight is only part of it.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9772
2021-11-25 23:42:13 +00:00
Jon Evans
da458535c4
PNS: Avoid flickering clearances on new items
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9773
2021-11-25 15:38:04 -05:00
Jeff Young
f9e1429c60
Naming conventions.
2021-11-25 14:54:12 +00:00
Jon Evans
ed478f5ec0
Revert to ERROR_INSIDE for complex pad shape hulls in PNS
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9544
2021-11-15 19:15:05 -05:00
Jon Evans
328d3d0d77
PNS: Fix rule resolution when starting from PTH
...
Have to use the routing start layer, not the first
layer of the PTH, to get the appropriate sizes
2021-10-23 22:46:31 -04:00
Seth Hillbrand
a8ec3b58ed
Use via's real drill value for hole size
...
If the via drill is "Default" be sure to get the default value rather
than the placeholder
Fixes https://gitlab.com/kicad/code/kicad/issues/9313
2021-10-06 11:00:58 -07:00
Seth Hillbrand
be799b49a8
Fix equality in dp matching
...
A single count is found when dp ends with matching char. .Right(0) will
return an empty wxString() which is still valid
Fixes https://gitlab.com/kicad/code/kicad/issues/9206
2021-09-21 19:47:15 -07:00
Seth Hillbrand
22a29a42cf
Generalize net DP matching
...
The requirement of 1-2 numbers following P/N or +/- was arbitrary and
not needed. We also add the _ to allowable suffixes to permit DP
matching of auto-renamed nets
2021-09-20 15:30:47 -07:00
Jeff Young
f221220fe2
Rename layer ids file.
...
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Wayne Stambaugh
78e5e98ea0
Pass VECTOR2I objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Jeff Young
0fb864d596
Pull some name changes back from 7.0 to ease merging.
2021-07-21 20:58:59 +01:00
Wayne Stambaugh
cf00319c85
More NULL expunging.
2021-07-20 07:27:18 -04:00
Seth Hillbrand
3ea970f8c9
Don't add virtual items to the display
...
By definition virtual vias should only exist in the backend, not
affecting users
Fixes https://gitlab.com/kicad/code/kicad/issues/8788
2021-07-13 15:52:41 -07:00
Jon Evans
edc2be9018
Update width status when user choice changes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8265
2021-07-07 21:26:21 -04:00
Jon Evans
277bf2b719
Add feedback showing current router state to the message panel
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8265
2021-07-03 13:21:51 -04:00
Jeff Young
096e342386
Prefix TRACK, ARC and VIA.
2021-06-11 22:07:02 +01:00
Jon Evans
3c6b98a0d5
PNS: preserve auto-detected track width when changing via sizes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8046
2021-06-06 20:18:09 -04:00
Marek Roszko
10e60acf34
Clean up including of board_design_settings.h
2021-06-06 15:03:42 -04:00
Marek Roszko
cf2bb5692a
Remove the wxLog calls from math/util.h for now
...
This was leaking windows headers and partial wx headers to 1084 compilation units......
This also means math/util.h is leaking to 1084 compilation units which seems a bit high too.
2021-06-01 18:44:22 -04:00