Jeff Young
8be213e36f
Trim includes (and use consistent terminology in error messages).
5 years ago
Tomasz Wlostowski
87ea540953
Fix whitespace errors
5 years ago
Tomasz Wlostowski
24574aa2f5
router: first insert intersections, then build graph in Walkaround()
5 years ago
Tomasz Wlostowski
028f209126
router: more robust LINE::Walkaround() implementation
5 years ago
Jon Evans
721bf82603
Handle malformed lines in dragCornerInternal
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7398
5 years ago
Jon Evans
46c4727783
Make MSVC happy again
5 years ago
Jon Evans
8901e71fc8
PNS: Fix loop removal, make walkaround less broken for arcs
5 years ago
Jeff Young
fc1b0ec11f
Improve feedback when routing in highlight collisions mode.
In particular, when Allow DRC violations is NOT turned on and we
bump in to an obstacle.
5 years ago
Jon Evans
2cdf9875b9
PNS: fix off-by-one in dragCorner45
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6644
5 years ago
Jeff Young
9c7c05c161
Mostly formatting cleanup but a few type-casting cleanups too.
5 years ago
Jeff Young
6d50c9749c
Mark the colliding shape so we know which one to highlight.
Also checks the nets when checking for a pad being flashed on a particular
layer (so we don't end up thinking the currently-routing-collided track
is a connection).
5 years ago
Wayne Stambaugh
ede39780e2
Remove all debugging output that cannot be disabled.
The use of printf, wxLogDebug, and std::err/std::out causes excessive
debugging output which makes finding specific debugging messages more
difficult than it needs to be.
There is still some debugging output in test code that really needs to
be moved into a unit test.
Add debugging output section to the coding policy regarding debugging
output.
5 years ago
Seth Hillbrand
afc94fdec3
PNS: Be better about handling multiple layers
Rather than adding pads/vias multiple times for each layer, we introduce
the "alternate shape" idiom to PNS that allows us to optionally place
the collision constraint on the hole instead of the pad for those
vias/pads that have inner layers removed.
Fixes https://gitlab.com/kicad/code/kicad/issues/5158
Fixes https://gitlab.com/kicad/code/kicad/issues/5198
Fixes https://gitlab.com/kicad/code/kicad/issues/5195
5 years ago
Tomasz Wlostowski
fd07e94760
router: abstract segment links into a LINK_HOLDER interface. DIFF_PAIRS are now also linkable
6 years ago
Tomasz Wlostowski
4525a17076
router: backspace key to undo last fixed segment(s)
6 years ago
Tomasz Wlostowski
c2d95a00c1
router: improved handling of corner cases in LINE::Walkaround
6 years ago
Tomasz Wlostowski
43b71cd9e3
router: Clear() method for PNS::LINE
6 years ago
Seth Hillbrand
8c19b4b6ae
pcbnew: Adding arcs to PNS
This is allows ARCs in tracks to be synchronized with
the PNS router. Note this does not yet include the UI components
to route curved traces
7 years ago
Ian McInerney
13b6028e1b
Refactor all math into a new kimath library
* Split up the thirdparty code into the thirdparty folder (#3637 )
* Create a new kimath static library containing all the math functions
This is part of cleaning the build system for #1906 .
6 years ago
Seth Hillbrand
c4d853c1e8
SHAPE_LINE_CHAIN: Remove element access
This is the first step to allowing non-segments in the line chain.
External routines cannot be allowed to change the line chain without
going through the internal routines. To accomplish this, we remove the
Vertex() and Point() access routines and only leave the const versions.
Transformations are given for both points as well as the chain itself.
7 years ago
Tomasz Włostowski
5666af4d1d
router: copy m_owner when copying PNS::ITEMs
6 years ago
Tomasz Włostowski
313ebb9dff
router: correct walkaround corner case when both ends of the line lie on the hull edge
Fixes: lp:1810935
* https://bugs.launchpad.net/kicad/+bug/1810935
7 years ago
Tomasz Włostowski
fd0381ea09
router: fix dragging when dragged segment has adjacent segment(s) at 180 degree angle
Fixes: lp:1812535
* https://bugs.launchpad.net/kicad/+bug/1812535
7 years ago
jean-pierre charras
d607c4853d
fix a minor compil warning.
7 years ago
Maciej Suminski
4d73cfb8a1
PNS: validate SHAPE_LINE_CHAIN before accessing its segments
7 years ago
Seth Hillbrand
13997f0050
Revert "pcbnew: Adding copy constructors to PNS items"
This reverts commit 41e4bc4d9f .
This commit requires additional testing before recommitting as it causes
issues with FindJoint().
7 years ago
Seth Hillbrand
41e4bc4d9f
pcbnew: Adding copy constructors to PNS items
Adding safe copy constructors to PNS items including assignment check
and copy operations
7 years ago
Seth Hillbrand
8c3a82e526
Code cleanup: Fixing assignment operators
7 years ago
Tomasz Włostowski
2eddf1d8db
router: prevent a very unlikely infinite loop in PNS::LINE::Walkaround() causing an OOM&segfault
Fixes: lp:1767587
* https://bugs.launchpad.net/kicad/+bug/1767587
8 years ago
Maciej Suminski
73eab29802
Removed 2 unused variables from PNS::LINE::Walkaround()
8 years ago
Seth Hillbrand
12487e14ab
Reduce extra loop comparison
8 years ago
Tomasz Włostowski
9932ff32ae
refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future
8 years ago
Tomasz Włostowski
2d9ab80b4e
Few improvements to the GAL router:
- missing 'break track' functionality
- 'drag 45 degree' and 'drag free angle' context menu shorcuts, both in the router tool and in the default context menu
- bugfix: length tuner tool can now be used again
Fixes: lp:1708386
* https://bugs.launchpad.net/kicad/+bug/1708386
Fixes: lp:1708402
* https://bugs.launchpad.net/kicad/+bug/1708402
8 years ago
Maciej Suminski
ee862e1db4
Fixed a hidden overloaded virtual function warning in PNS
9 years ago
Chris Pavlina
c57fd7ccbf
Fix signed/unsigned comparison warning in PNS::LINE::ClipVertexRange
9 years ago
decimad
4770be0920
Make the segment-ref container a true member of PNS::LINE
improve const correctness
return segment container by ref
change client code accordingly
9 years ago
decimad
6c749e0ba8
Remove PNS_ prefix from most types inside namespace PNS
9 years ago
decimad
de6281e977
Move PNS router code into namespace PNS
update copyright messages
9 years ago
Maciej Suminski
ca499b80e1
Fixed wxLogTrace() calls in PNS
Fixes: lp:1616702
* https://bugs.launchpad.net/kicad/+bug/1616702
9 years ago
Maciej Suminski
78050c05e2
Changed PNS logging routine to wxLogTrace
9 years ago
Maciej Suminski
7e94e5282a
Changed PNS debug output to use wxLogTrace
9 years ago
Maciej Suminski
0ef866ee74
Code formatting
9 years ago
Tomasz Wlostowski
2b32b6f72e
P&S: support for trace & via locking
9 years ago
Simon Richter
1b2fd6a382
Replace BOOST_FOREACH with C++11 range based for.
10 years ago
Maciej Suminski
a30c8d7848
Coverity fixes.
10 years ago
Tomasz Wlostowski
0725575830
router: fixed disappearing segments when dragging corners/vias
10 years ago
Tomasz Wlostowski
95c59c8060
router: multiple fixes:
- PNS_ITEMSET now keeps ownership info (does not rely on PNS_ITEM::Owner(), avoiding the risk of dangling pointers)
- fixed vias losing connected traces when dragging in mark obstacles mode
- fixed rare segfault when board item returned null netclass
10 years ago
Maciej Suminski
6989af7904
Minor fixes (PNS).
10 years ago
Maciej Suminski
127fcfa7c9
Code formatting.
10 years ago
Maciej Suminski
0fbf31ef38
P&S: memory mgr & disappearing trace fixes. Still a bit buggy, though...
10 years ago